最近,我看到了查德·帕里撰写的题为"DIY-DI“或”自己动手“的伟大文章。 --我还没有准备好使用IoC框架,但我想朝这个方向努力。似乎DIY是一个很好的第一步。
然而,在阅读了这篇文章之后,我仍然对对象创建感到有些困惑。下面是一个简单的例子:

使用手动构造函数依赖项注入(而不是DIY),必须构造Hotel对象:
PowerGrid powerGrid; // only one in the entire application
WaterSupply waterSupply; // only one in the entire application
Staff staff;
Rooms rooms;
Hotel hotel(staff, rooms, powerGrid, waterSupply);创建所有这些依赖对象使孤立地构造Hotel对象变得困难,这意味着编写Hotel单元测试将是困难的。
使用DIY会使它更容易吗?
与手动构造函数依赖注入相比,DIY提供了什么优势?
发布于 2010-06-11 05:06:20
发布于 2012-05-03 19:30:36
暗示
创建所有这些依赖对象使孤立地构造Hotel对象变得困难
正如我所看到的,不应该存在从蓝色对象到红色对象的依赖关系。具有不同生命周期的对象不应相互依赖。另见:http://misko.hevery.com/2008/09/30/to-new-or-not-to-new/
https://stackoverflow.com/questions/3016940
复制相似问题