zoukankan      html  css  js  c++  java
  • 如何使用“依赖注入”的

    如何使用“依赖注入”的

    依赖注入的定义

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

     
  • 相关阅读:
    CentOS之文件搜索命令locate
    CentOs之链接命令
    CentOs之常见目录作用介绍
    centOs之目录处理命令
    Query注解及方法限制
    Repository接口
    OkHttp和Volley对比
    Base64加密与MD5的区别?
    支付宝集成
    Android 中 非对称(RSA)加密和对称(AES)加密
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/3020335.html
Copyright © 2011-2022 走看看