好得很程序员自学网

<tfoot draggable='sEl'></tfoot>

如何使用“依赖注入”的

如何使用“依赖注入”的

如何使用“依赖注入”的

依赖注入的定义

控制反转(Inversion of Control,英文缩写为IoC)是一个重要的面向对象编程的法则来削减计算机程序的耦合问题。 控制反转还有一个名字叫做依赖注入(Dependency Injection)。简称DI。

构造方法注入

代码示例

 1   public   class   Service
  2   {
  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 DependService
  11       {
  12           set 
 13           {
  14              _dependService =  value;    
  15           }
  16       }
  17  }

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

方法注入

代码示例

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

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

备注

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

框架地址: http://happy.codeplex.com/  
博客地址: http://www.cnblogs.com/happyframework/

 

分类:  Design Principle

作者: Leo_wl

    

出处: http://www.cnblogs.com/Leo_wl/

    

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

版权信息

查看更多关于如何使用“依赖注入”的的详细内容...

  阅读:35次