| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> Java知识库 -> Spring IoC和DI的理解 -> 正文阅读 |
|
[Java知识库]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之间的关系,靠注入的手段来维护 |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/23 4:53:55- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |