1.ocp开闭原则
什么是ocp?
ocp是软件七大开发原当中最基本的一个原则:开闭原则
对扩展开放,对修改关闭
ocp原则是最核心的,最基本的,其他的六个原则都是为这个原则服务的
ocp原则的核心是:只要你在扩展系统功能的时候,没有修改以前写好的代码,那么这个设计就是符合ocp原则的。反之,如果在扩展系统功能的时候,你修改了之前的代码,那么这个设计是失败的,违背ocp原则。
当进行系统功能扩展的时候,如果动了之前稳定的程序,修改了之前的代码,之前的程序都是需要重新测试的,这个是不想看到的,因为非常麻烦。
2.依赖倒置原则(DIP原则)
什么是依赖倒置原则?
面向接口编程,面向抽象编程,不要面向具体编程
依赖倒置原则的目的?
降低程序的耦合度,提高扩展力。
什么叫做符合依赖倒置原则?上不依赖下
什么叫违背依赖倒置原则?
上,依赖下,就是违背
只要下一改动,上就受到牵连
3.控制反转(IOC)
什么是控制反转?
对象我不new了,控制权交给你,是一种编程思想,或者叫做一种新的设计模式,没有被纳入GOF23种设计模式范围中。
4.Spring框架
spring框架实现了控制反转IOC这种思想
spring框架可以帮我们new对象,帮我们维护对象和对象之间的关系
spring是一种实现了IOC思想的容器。
控制反转的实现方式有多种,其中比较重要的叫做:依赖注入(dependency injection简称di)
控制反转是一种思想,依赖注入是实现方式
依赖注入的两种方式
1.set注入
2.构造器注入
5.第一个程序
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.example</groupId>
<artifactId>spring002-first</artifactId>
<version>1.0-SNAPSHOT</version>
<!--学习spring项目可以是普通Java程序-->
<packaging>jar</packaging>
<dependencies>
<dependency>
<!--spring-context依赖-->
<!--当你引入spring Context依赖之后,表示将spring的基础以来引入了-->
<!--如果你想使用spring的jdbc,或者其他的tx,那么还需要在次添加依赖-->
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>6.0.0</version>
</dependency>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.13</version>
<scope>test</scope>
</dependency>
</dependencies>
<properties>
<maven.compiler.source>17</maven.compiler.source>
<maven.compiler.target>17</maven.compiler.target>
</properties>
</project>