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


    依赖注入的定义

    控制反转(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。

  • 相关阅读:
    使用组合逻辑电路驱动VGA显示器
    M9K内存使用教程
    DE10Lite锁相环使用教程
    FPGA最大工作频率教程
    DE10Lite输入/出高/低电平说明
    DE10Lite加速度计使用教程
    构建和调试电路的技巧
    各种常用校验码算法
    Java生成文件摘要
    经济 stone
  • 原文地址:https://www.cnblogs.com/happyframework/p/3019833.html
Copyright © 2020-2023  润新知