设计模式的六个原则
1、单一职责原则
一个类或者接口只负责唯一职责,尽量设计出单一功能的接口
给一个类加上各种各样的功能,这就意味着无论任何需求来,都要更改这个类,这很糟糕,维护麻烦,复用更加不可能,也缺乏灵活性。
2、依赖倒转原则
高层模块不应该依赖低层模块具体实现,解耦高层和低层,既面向接口编程,当发送变化时,只需要提供新的实现类,不需要修改高层代码
(1)高层模块不应该依赖于低层模块,两个都应该依赖于抽象
(2)抽象不应该依赖细节,细节应该依赖于抽象
3、开放封闭原则
程序对外扩展开放,对修改关闭,当需求发生变化时,我们可以通过添加新模块来满足新需求,而不是通过修改原来的实现代码来满足新的需求。
4、迪米特法则(最小知识原则)
一个软件实体应当尽可能的少与其他实体发生相互作用,每一个软件单位对其他软件单位都只有最少知识
5、接口隔离原则
客户端不应该依赖他不需要的接口,类间的依赖关系应建立在最小的接口上。
接口隔离原则的优点
接口隔离原则是为了约束接口、降低类对接口的依赖性,遵循接口隔离原则有以下 5 个优点。
- 将臃肿庞大的接口分解为多个粒度小的接口,可以预防外来变更的扩散,提高系统的灵活性和可维护性。
- 接口隔离提高了系统的内聚性,减少了对外交互,降低了系统的耦合性。
- 如果接口的粒度大小定义合理,能够保证系统的稳定性;但是,如果定义过小,则会造成接口数量过多,使设计复杂化;如果定义太大,灵活性降低,无法提供定制服务,给整体项目带来无法预料的风险。
- 使用多个专门的接口还能够体现对象的层次,因为可以通过接口的继承,实现对总接口的定义。
- 能减少项目工程中的代码冗余。过大的大接口里面通常放置许多不用的方法,当实现这个接口的时候,被迫设计冗余的代码。
6、里式替换原则
任何基类可以出现的地方,子类一定可以出现,里式代换原则是继承复用的基石。
本博客所有文章除特别声明外,均采用 CC BY-SA 4.0 协议 ,转载请注明出处!