2023.11.3
今天正式开始Spring的学习。这一章主要学习一些开发中的原则和思想,以此引出接下来要学的Spring框架。
OCP开闭原则
在软件开发过程中应当对扩展开放,对修改关闭。也就是说,如果在进行功能扩展的时候,添加额外的类是没问题的,但因为功能扩展而修改之前运行正常的程序,这是不被允许的。因为一旦修改之前运行正常的程序,就会导致项目整体要进行全方位的重新测试。这是相当麻烦的过程。导致以上问题的主要原因是:代码和代码之间的耦合度太高。
依赖倒置原则DIP
依赖倒置原则(Dependence Inversion Principle),简称DIP,主要倡导面向抽象编程,面向接口编程,不要面向具体编程,让上层不再依赖下层,下面改动了,上面的代码不会受到牵连。这样可以大大降低程序的耦合度,耦合度低了,扩展力就强了,同时代码复用性也会增强。
总结来说即:高层模块不应该依赖于低层模块,两者都应该依赖于抽象。
控制反转IoC
控制反转(Inversion of Control,缩写为IoC),是面向对象编程中的一种设计思想,可以用来降低代码之间的耦合度,符合依赖倒置原则。
控制什么?控制对象的创建和销毁,指的是控制对象的生命周期。
反转什么:之前我们创建一个对象都是new,现在有了IOC了,指的是把对象的控制权交给了IOC容器。
总结来说即:将对象的创建权和对象与对象之间关系的管理权交出去,由第三方容器来负责创建与维护。
控制反转常见的实现方式:依赖注入(Dependency Injection,简称DI),通常,依赖注入的实现由包括两种方式:
- set方法注入
- 构造方法注入
下面这张图很好的解释了IoC的作用:
而Spring框架就是一个实现了IoC思想的框架。