天天看点

设计模式小结——六大设计原则

设计模式是一套由软件界前辈们总结出的可以反复使用的编程经验,旨在提高代码的可重用性,提高系统的可维护性,以及解决一系列复杂问题。设计模式包括6大设计原则和23种种设计模式。

6大设计原则:

单一职责原则SRP

应该有却仅有一个原因引起类的变更,即类最好只实现一种功能。高内聚。

单一职责的实现方式是一个职责一个接口。

单一职责适用于类和接口,同样适用于方法,一个方法也应该只做好一件事。

里氏替换原则LSP

所有能使用父类的地方必须能透明地使用其子类的对象。

子类必须完全实现父类的方法,如果子类不能完整实现父类的方法,则建议使用依赖,聚集,组合等关系代替继承。

依赖倒置原则DIP

实现类之间不发生直接的依赖关系,依赖关系通过接口或抽象类产生

接口和抽象类不应依赖实现类

实现类依赖接口或抽象类

每个类尽量都有接口或抽象类,变量的表面类型尽量是接口或抽象类,任何类都不应该从其他类派生。

接口隔离原则ISP

类间的依赖关系应该建立在最小的接口上,即接口尽量细化,提供给每个模块应该是单一接口

接口要高内聚,减少对外交互

迪米特原则LOD

对象应对其他对象有最少的了解,只与直接的朋友交流

出现在成员变量,方法的输入输出函数中的类称为成员朋友类,而出现在方法体内部的类不属于朋友类

如果一个方法放在本类中,既不增加类间关系,也对本类不产生负面影响,就放置在本类中。

类间解耦,弱耦合,高内聚

开闭原则OCP

一个软件实体如类,模块和函数应该对扩展开放,对修改关闭