设计模式的设计原则

来源:互联网 发布:淘宝咸鱼网怎么样 编辑:程序博客网 时间:2024/06/10 02:31

设计模式中的六大原则

设计模式是前人实践经验的结晶,我们学习设计模式并不是最终的目的,最终的目的是要在设计模式当中领悟学会设计原则。其实所有的设计模式都离不开设计原则,都是按照一定的设计原则进行的。设计模式中最重要的六大原则如下。

1.‘’开-闭‘’原则(ocp)

英文为Open-Closed Principle ,简称OCP。阐述的内容是:一个软件实体应当对扩展开放,对修改关闭。也就是说,软件系统中包含的各种组件,如模块(Modules)、类(classes)、及功能(Functions)等,应该在不修改现有代码的基础上,引入新功能。‘’开-闭‘’原则中的‘’开‘’,是指对于组件功能的拓展是开放的,是允许对其进行功能扩展的;‘’开-闭‘’原则中的‘’闭‘’,是指对于原有代码的修改是封闭的,即不应该修改原有的代码。

2.单一职责原则(SRP)

英文为Singel Responsibility Principle,简称SRP。阐述的内容是:一个类,应该只有一个引起它变化的原因。即一个类中应该只有一个职责,如果一个类有一个以上的职责,那么这些职责就会耦合在一起,当一个职责发生变化时,可能会影响其他的职责。另外,多个职责耦合在一起,会影响复用性。

3.依赖倒置原则(DIP)

英文为Dependence Inversion Principle,简称DIP。阐述的内容是:要依赖于抽象,而不要依赖于具体实现。简单地说就是要求针对抽象编程,而不是针对实现编程,这样就降低了客户与实现模块间的耦合。

4.接口隔离原则(ISP)

英文为Interface Segregation Principle,简称ISP。使用多个隔离的接口,分离不同的接口行为。也就是说一个类对另外类的依赖性应当建立在最小接口上。应当将不同的角色交给不同的接口处理。

5.里氏替换原则(LSP)

英文为Likov Substitution Principle,简称LSP。该原则是对‘’开-闭‘’原则的补充,讲的是基类和子类的关系,是由麻省理工学院的Likov于1987年提出的一个关于继承的原则。阐述的内容是:继承必须确保基类所拥有的性质在子类中仍然成立。也就是说,在一个软件系统当中,子类应该可以替换任何基类能够出现的地方,并且经过替换之后,系统仍然可以正常工作。子类还能够在基类的基础上增添新的行为。

6.迪米特法则(LoD)

英文为Law of Demeter,简称LoD。1987年秋天由美国Northeastern University 的IanHolland提出,被UML的创始者之一Booch等普及。后来,因为在经典著作》《The Programmer》中出现而广为人知。迪米特法则又称为最少只是原则,(Least  Knowledge  Principle,LKP),阐述的内容简单点说就是:只和密友交谈。即一个软件实体应当尽可能少地与其他实体发生相互作用。每一个软件单位对其他的单位都只有最少的知识,而且局限于那些于本单位密切相关的软件单位。从而,减少类与类之间的依赖,减低类之间的耦合。

在实践中发现的真理是最让人信服的。上面几种设计原则,都是在实践当中总结出来的。掌握了以上设计模式六大原则,并能够灵活运用,那么在软件设计领域中就会纵横驰骋,无所不能。设计原则并不是只有这么多,还有其他内容,这六项是最重要的。可能还有更好的设计原则等待着你去挖掘。


你可以点击每一个原则进行具体了解。


2 0
原创粉丝点击