首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 其他教程 > 互联网 >

设计原则:小弟我是怎么使用“依赖注入”的

2013-04-21 
设计原则:我是如何使用“依赖注入”的1 public class Service2 {3private readonly IDependService _dependS

设计原则:我是如何使用“依赖注入”的

1 public class Service2 {3     private readonly IDependService _dependService;4 5     public Service(IDependService dependService)6     {7         _dependService = dependService;8     }   9 }

意图:非常强烈的依赖关系,缺少该依赖服务不能正常的履行期职责,运行时不能修改依赖对象(采用readonly声明)。

属性注入

代码示例

 1 public class Service 2 { 3     private IDependService _dependService; 4  5     public Service() 6     { 7         _dependService = new DefaultDependService(); 8     } 9 10     public IDependService DependService11     {12         set13         {14             _dependService = value;    15         }16     }17 }

意图:拥有默认的依赖关系,运行时可以修改依赖对象。

方法注入

代码示例

1 public class Service2 {3     public void Do(IDependService dependService)4     {5         //调用依赖6     }7 }

意图:没办法采用上边两种注入的场景,如:需要从数据库持久化回来的领域模型;这种模式的依赖会向上传递(所有的注入方式都会)直到上层采用构造方法注入和属性注入。

备注

感谢IOC,没有IOC,真的很难爱上DI。

?

热点排行