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容器来完成。

       

  • 相关阅读:
    深度优先搜索
    哈希算法
    双指针问题
    基本概念
    Ionic JPush极光推送二
    一条sql获取每个类别最新的一条记录
    Ionic App 更新插件cordova-plugin-app-version
    Ionic跳转到外网地址
    Ionic cordova-plugin-splashscreen
    Web API 上传下载文件
  • 原文地址:https://www.cnblogs.com/mo-jian-ming/p/13246285.html
Copyright © 2011-2022 走看看