当前位置: 移动技术网 > IT编程>软件设计>设计模式 > 设计模式的原则和法则

设计模式的原则和法则

2020年03月19日  | 移动技术网IT编程  | 我要评论

设计模式中的原则和法则:

1、开闭原则:

开闭原则(open closed principle,ocp)由勃兰特·梅耶(bertrand meyer)提出,他在 1988 年的著作《面向对象软件构造》(object oriented software construction)中提出:软件实体应当对扩展开放,对修改关闭(software entities should be open for extension,but closed for modification),这就是开闭原则的经典定义。

开闭原则的含义是:当应用的需求改变时,在不修改软件实体的源代码或者二进制代码的前提下,可以扩展模块的功能,使其满足新的需求。

 

2、里式替换原则:

里氏替换原则(liskov substitution principle,lsp)由麻省理工学院计算机科学实验室的里斯科夫(liskov)女士在 1987 年的“面向对象技术的高峰会议”(oopsla)上发表的一篇文章《数据抽象和层次》(data abstraction and hierarchy)里提出来的,她提出:继承必须确保超类所拥有的性质在子类中仍然成立(inheritance should ensure that any property proved about supertype objects also holds for subtype objects)。

里氏替换原则通俗来讲就是:子类可以扩展父类的功能,但不能改变父类原有的功能。也就是说:子类继承父类时,除添加新的方法完成新增功能外,尽量不要重写父类的方法。

里氏替换原则是实现开闭原则的重要方式之一。


3、依赖导致原则:

依赖倒置原则(dependence inversion principle,dip)是 object mentor 公司总裁罗伯特·马丁(robert c.martin)于 1996 年在 c++ report 上发表的文章。依赖倒置原则的原始定义为:高层模块不应该依赖低层模块,两者都应该依赖其抽象;抽象不应该依赖细节,细节应该依赖抽象(high level modules shouldnot depend upon low level modules.both should depend upon abstractions.abstractions should not depend upon details. details should depend upon abstractions)。

其核心思想是:要面向接口编程,不要面向实现编程。

依赖倒置原则是实现开闭原则的重要途径之一,它降低了客户与实现模块之间的耦合。

 

4、单一职责原则

单一职责原则(single responsibility principle,srp)又称单一功能原则,由罗伯特·c.马丁(robert c. martin)于《敏捷软件开发:原则、模式和实践》一书中提出的。这里的职责是指类变化的原因,单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分(there should never be more than one reason for a class to change)。

单一职责原则的核心就是控制类的粒度大小、将对象解耦、提高其内聚性。

 

5、接口隔离原则

接口隔离原则(interface segregation principle,isp)要求程序员尽量将臃肿庞大的接口拆分成更小的和更具体的接口,让接口中只包含客户感兴趣的方法。2002 年罗伯特·c.马丁给“接口隔离原则”的定义是:客户端不应该被迫依赖于它不使用的方法(clients should not be forced to depend on methods they do not use)。该原则还有另外一个定义:一个类对另一个类的依赖应该建立在最小的接口上(the dependency of one class to another one should depend on the smallest possible interface)。

以上两个定义的含义是:要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。

接口隔离原则是为了约束接口、降低类对接口的依赖性

 

 

未完待续……

 

如对本文有疑问, 点击进行留言回复!!

相关文章:

验证码:
移动技术网