设计原则

2333

记录一下

1. 单一(职责/功能)原则

它是面向对象设计当中一个重要原则,在这个原则当中,建议一个类应该有且只有一个引起功能变化的原因,简单的来说一个类只有一个功能只干一件事,如果在一个类当中承担的功能越多那么就意味它的交融性、耦合性就越高,那么它被复用的可能性就会越底。由于它的耦合性较高,当类其中一个职责发生变化的时候,就有可能引发当类其他职责的变化,进而影响整个程序的运行。

2. 里式替换原则

子类可以扩展父类的功能和实现父类的抽象方法,但不能改变父类原有的功能。

3. 依赖倒置原则

高层模块不应该依赖底层模块,二者都应该都应该依赖其抽象,但是抽象不应该依赖于细节,具体的细节应该依赖抽象,该原则完美契合面向接口编程理念。

4. 开闭原则

一个软件实体如类、模块和函数应该对扩展开放,对修改关闭!白话就是不要改你以前写的代码,你应该加一些代码去扩展原来的功能,来实现新的需求。

5. 迪米特法则

一个对象应该对其他对象有最少的了解,只和直接的朋友交流,如出的成员变量以及方法的输入输出参数中的类就是直接的朋友,它的意义在于降低类之间的耦合。更多详情

6. 接口隔离原则

实现类不应该被强迫地依赖那些根本用不上的方法,需要把接口进行合理拆分归类

7. 组合/聚合复用原则

聚合表示一种弱的 “拥有” 关系,体现的是 A 对象可以包含 B 对象,但是 B 对象不是 A 对象的一部分。
合成(组合)是一种强的 “拥有” 关系,体现了严格的部分与整体的关系,部分和整体的生命周期是一样的。

合成/聚合复用原则

扩展阅读

白话设计模式六大原则