一、设计模式的分类
设计模式大致可以分为三类:
- 创建型模式(静态工厂模式、工厂方法模式、抽象工厂模式、单例模式、建造者模式)
- 结构型模式(桥接模式、适配器模式、装饰器模式、代理模式、组合模式)
- 行为型模式(模板方法模式、策略模式、观察者模式、责任链模式、命令模式、访问者模式)
二、设计模式的六大原则
graph
六大原则 --> 单一职责原则
六大原则 --> 里氏替换原则
六大原则 --> 依赖倒置原则
六大原则 --> 接口隔离原则
六大原则 --> 迪米特法则
六大原则 --> 开闭原则
classDef default fill:#2A9D8F,color:#fff;
classDef important fill:#E76F51,color:#fff;
classDef root fill:#e9c46a,color:#fff;
class 六大原则 root
class 单一职责原则,开闭原则,依赖倒置原则 important
单一职责
- 一个类只负责一项职责
里氏替换原则
- 子类可以拓展父类的功能,但不要改变父类原有的功能
依赖倒置原则
- 高层模块不应该依赖底层模块。
- 两个都应该依赖抽象抽象不应该依赖于细节,细节应该应该依赖于抽象
- 针对接口编程,不要针对实现编程
接口隔离原则
- 客户端不应该依赖它不需要的接口
- 类之间依赖关系应该建立在最小的接口上
迪米特法则
- 局部变量里面不要引入新的类
- 如果两个类不必要彼此直接通行,那么这两个类就不应当发生直接的相互作用
- 在类的设计上每一个类都应当降低成员的访问权限
- 根本思想是强调类之间的松耦合
开闭原则
- 对于扩展是开放的,对于修改是封闭的
- 面对需求,对程序的改动是通过新增代码进行的,而不是更改现有的代码