目录
几个原则
开闭原则:
对扩展是开放的
单一职责:
只负责一个职责
里氏替换原则LSP:
基类(就是个父类) 多态:父类指针指向子类对象,
idea:ctrl shift u 反向升成类图
依赖倒置原则:
高层模块不应该依赖低层
不是直接依赖,依赖下层的接口,实现类实现接口,换起来方便
简而言之,面相接口编程。
spring frame 管理所有实例,提前根据配置文件
@Autowired 第三方框架自动注入bean
@Inject 第三方框架自动注入bean
接口隔离原则:
客户端不应该依赖它不需要的接口 不然造成污染,要使用多个专门的接口
函数原则:
- 功能单一
- 结构简单
- 入参少
- 短小精悍
最少知道原则/迪米特法则:
不知道的少打听
合成/聚合复用原则:
可以用组合、聚合、继承(高耦合不建议哈)
模式
创建型模式:
(解决对象怎么创建 )
将对象的创建、组合表示与系统分开
1.简单的工厂模式(不是23种之一)
面相对象:根据需求 识别其中的类
静态工厂方法 :方法前面加一个 static
优点:1.细节封装 2.符合责任分离原则
缺点:1.增加子类比较困难 2.不符合开闭原则
1.工厂模式
开闭原则的
4种角色:
抽象工厂 具体工厂 抽象产品 具体产品
工厂方法是多态的/动态的
2.抽象工厂模式:
为创建一组相关或相互依赖的
类里面有抽象类 具体类去实现它
工厂是开闭的哈,加一个方法 不改老代码啦
c抽象工厂未必啦
衣服:男士的 女士的
与 工厂方法的区别:
工厂一定是开闭的 抽象工厂不一定开闭
工厂一般负责一个 抽象工厂负责好多个