初始设计模式1——六大设计原则

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

6大设计原则:

单一职责原则SRP

应该有却仅有一个原因引起类的变更,即类最好只实现一种功能。高内聚
单一职责的实现方式是一个职责一个接口。
单一职责适用于类和接口,同样适用于方法,一个接口应该只有一个职责,一个方法也应该只做好一件事。

里氏替换原则LSP

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

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

覆盖或实现父类的方法时,输入参数可以被放大,输出结果可以被缩小。

依赖倒置原则DIP

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

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

每个类尽量都有抽象,变量的表面类型尽量是抽象

依赖导致就是使用抽象间的依赖取代具体对象的依赖

接口隔离原则ISP

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

拆分接口时要满足单一职责原则,不能过度拆分

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

客户端不应该依赖它不需要的接口

迪米特原则LOD

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

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

方法尽量不引用类中不存在的对象

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

开闭原则OCP

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

尽量通过扩展软件实体的行为来实现变化,而不是修改已有代码

参数类型,引用对象尽量使用抽象




你可能感兴趣的:(初始设计模式)