zoukankan      html  css  js  c++  java
  • IOC(控制反转思想)原型理论推导

    1.0时代:需要一个Dao层(接口+ImpL)、对应一个Service层(接口+ImpL)

    1、Dao层封装了数据库操作,Service层 ImpL类 通过 new 一个Dao的ImpL类  并赋值给  Dao接口,实现对Dao层的调用,从而达到Dao层对于客户透明的目的。

    2、具体代码:

    private XXXDao xxxDao = new xxxDaoImpL()

     3、缺点:随着客户的需求不断改变,new 的ImpL类也要随之改变,高耦合

    2.0时代:引入了Set进行动态注入ImpL类的思想

    1、在Service层ImpL类中,不通过new的方法给Dao接口创建ImpL类,而是加入Set带参函数为Dao接口赋值

    2、具体代码:

    public void setXXXDao(XXXDao xxxDao){ this.xxxDao = xxxDao; }

    3、优点:改变了程序主动创建对象的方式,通过Set带参函数变成了被动接受对象(反转控制),不再因为客户需求的迭代,而改变原有的代码,低耦合

     

    抽象结果:(IoC容器)

     通常new一个实例,控制权由程序员控制,而“控制反转”是指new实例工作不由程序员来做而是交给Spring容器来完成。

       

  • 相关阅读:
    guava cache 缓存
    策略模式干掉if-else,switch
    一.投资理论
    死锁问题
    Redis连接数居高不下的问题
    Entity Framework Core To SQL问题
    数据字典
    Core2.0升级2.2
    NetCoreAPI版本控制
    WEBAPI的请求方式与请求类型
  • 原文地址:https://www.cnblogs.com/mo-jian-ming/p/13246285.html
Copyright © 2011-2022 走看看