面向对象编程
面向对象: 对象:封装、继承、多态
SOLID
- S: 单一职责原则,对象应该具有一种单一的功能,不要把过多的功能放到同一个类中——将不同的功能进行细分
- O: 开放封闭原则,对扩展开放,对修改关闭,添加新的功能的时候,应当尽量不要去修改已有的类或者代码——依赖注入
- L: 里氏替换原则,对象可以在不改变程序正确性的前提下被它的子类所替换的——子类应当忠实地继承父类的所有方法
- I: 接口隔离原则,多个特定客户端接口要好于一个宽泛用途的接口——接口的粒度应当尽量小
- D: 依赖倒置原则,依赖于抽象而不是一个实例——依赖接口而不是实现类
具体做法
- 数据封装:对数据进行封装,限制数据的访问权限,特定数据只能由特定方法进行修改和管理
- 划分模块:将代码根据业务逻辑和功能,拆分成一个个小的模块,并且尽量保证功能的单一性,不将不同功能的代码混合到一起
- 单向依赖:不同的业务逻辑之间会存在依赖,他们的依赖关系可以形成一个图,这个图应该是一个单向无环图,最好是一棵树
- 依赖接口:模块之间进行依赖时,依赖于接口,不依赖于实现类,少用继承,多用实现(该做法在动态语言中可以适当放松)
- 依赖注入:模块的运行时依赖不应当由其自己获取,而应当由外界进行注入