【札记】设计的五个原则

1、 单一职责原则

核心思想:一个类,最好只做一件事,只有一个引起它变化的原因。

参考Facade模式或者Proxy模式

2、 开放封闭原则

核心思想:软件实体应该是可扩展,而不可修改的。也就是说,对扩展是开发的,而对修改是封闭的。

对扩展开放,意味着有新的需求或变化时,可以对现有代码进行扩展,以适应新的情况。

对修改封闭,意味着一旦设计完成,就可以独立完成其工作,而不要对类进行任何修改。

参考Template Method模式或Strategy模式。

3、 依赖倒置原则

核心思想:依赖于抽象

具体而言,依赖倒置体现在:

高层模块不应该依赖于底层模块,二者都应该依赖于抽象

抽象不应该依赖于具体,具体应该依赖于抽象

当两个模块之间存在紧耦合的关系时,最好的办法就是分离接口和实现:在依赖之间定义一个抽象的接口,使得高层模块调用接口的方法,而低层模块实现接口的定义,以此来有效控制耦合的关系,达到依赖于抽象的设计目标

4、 接口隔离原则

核心思想:使用多个小的专门的接口,而不要使用一个大的总接口

具体而言,接口隔离体现在:

接口应该是内聚的,应该避免出现“胖”接口

一个类对另一个类的依赖应该建立在最小的接口上,不要强迫依赖不用的方法,这是一种接口的污染

5、 Liskov替换原则

核心思想:子类必须能够替换其基类

这一思想体现为对继承机制的约束规范,只有子类能够替换其基类,才能保证系统在运行期内识别子类,这是保证继承复用的基础。在父类和子类的具体实现中,必须严格把握继承层次中的关系和特征,将基类替换为子类,程序的行为不会发生任何变化。

原文地址:https://www.cnblogs.com/xingluzhe/p/4724273.html