• Spring IoC和DI的理解


    一、 OCP开闭原则

    1.什么是OCP?

    OCP是软件七大开发原则当中最基本的一个原则,开闭原则

    对扩展开放,对修改关闭

    2.OCP原则是最核心的,最基本的,其他六个原则都是为了这个原则服务的

    3.OCP开闭原则的核心是什么?

    只要你在扩展系统功能的时候,没有修改以前写好的代码,那么你就是符合OCP原则的,反之

    ,如果在扩展系统功能的时候,你修改了之前的代码,那么这个设计就是失败的,违背OCP原则

    4.当进行系统功能扩展的时候,如果动了之前稳定的程序,修改了之前的程序,之前所有的程序都需要重新测试,这是不想看到的,因为很麻烦

    二、依赖倒置原则(DIP原则)

     UserAction依赖了具体的UserServiceImpl,UserServiceImpl依赖了具体的UserDaoIMplForMysql

    上层依赖下层,这就违背了依赖倒置原则.只要"下层"一改动,"上层"就收到牵连(比如我们要连接Orcle数据库,那么就需要改动代码)

    那什么叫符合依赖倒置原则?

    上不在依赖下,表示符合依赖倒置原则.

    依赖倒置原则的核心是:倡导面向接口编程,面向抽象编程,不要面向具体编程

    三、当前程序的设计,既违背了OCP,又违背了DIP

    可以采用"控制反转"这种编程思想来解决这个问题

    四、什么是控制反转?

    控制反转:IoC(Inversion of Control)

    反转的是两件事:

    1.不在程序中采用硬编码的方式来new对象了(new对象不管了,new对象的权利交出去)

    2.不在程序中采用硬编码的方式来维护对象关系了(对象之间的关系不管了,交出去)

    控制反转:是一种编程思想,或者是叫做新型的设计模式,由于出现的比较晚,没有被纳入GoF23设计模式中

    五、Spring框架

    1.Spring框架实现了控制反转IoC这种思想

    ①Spring框架可以帮你new对象

    ②Spring框架可以帮你维护对象之间的关系

    2.Spring是一个实现了IoC思想的容器

    3.控制反转的实现方式有多种,常见的叫做依赖注入简称(DI)

    4.控制反转是思想,依赖注入是这种思想的具体实现

    5.依赖注入常见的两种方式:

    ①set注入(执行set方法注入)

    ②构造方法注入(执行构造方法注入)

    6.依赖:A对象和B对象之间的关系,注入:是一种手段,通过这种手段,可以让A对象和B对象产生关系

    依赖注入:对象A和对象B之间的关系,靠注入的手段来维护

  • 相关阅读:
    Windows系统ping命令的c++实现
    AI导航网
    什么是线程?为什么需要线程?和进程的区别?
    pdfgear:免费易用的pdf处理软件,轻松进行pdf文件转换、阅读、编辑等
    TensorFlow 的基本概念和使用场景
    rabbitmq跟着b站尚硅谷老师学习
    Spring创建和使用
    MySql 数据库【Union、Limit】
    【19】c++设计模式——>桥接模式
    C++标准模板(STL)- 类型支持 (数值极限,traps,tinyness_before)
  • 原文地址:https://blog.csdn.net/Lzfnemo2009/article/details/127603498