目的:高内聚,低耦合
- 单一职责原则
- 一个类一个功能方法,但是会导致代码耦合度高,所以需要平衡
- 开闭原则
- 添加功能时不能更改原有代码,所以原有类设计的时候我们使用interface,继承时实现功能(比如直接添加原来类的方法,因为源代码有耦合度)
- 可以使用interface当作参数动态替换成实现类进行多态
- 里氏替换原则
- 尽量使用接口
- 依赖倒转原则
- 业务逻辑层(main) 和 实现层(struct) 都依赖于 抽象层(interface)
- 接口隔离原则
- 接口的单一职责
- 合成复用原则
- 使用组合代替继承,一个类是另一个类的属性或形参
- 迪米特原则
- 模块相互调用使用接口,黑盒
- 创建:如何创建对象
- 单例模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 原型模式
- 建造者模式
- 结构:如何组合类和对象
- 适配器模式
- 桥接模式
- 组合模式
- 装饰模式
- 外观模式
- 享元模式
- 代理模式
- 行为:类和对象如何交互和分配
- 职责链模式
- 命令模式
- 解释器模式
- 迭代器模式
- 中介者模式
- 备忘录模式
- 观察者模式
- 状态模式
- 策略模式
- 模板方法模式
- 访问者模式