我学设计模式 之 面向对象设计原则

网友投稿 808 2022-10-24

我学设计模式 之 面向对象设计原则

我学设计模式 之 面向对象设计原则

我学设计模式 之 面向对象设计原则

面向对象常用的设计原则有:

1.  单一职责原则

2.  开放封闭原则

3.  Liskov替换原则

4.  依赖倒置原则

5.  接口隔离原则

单一职责原则:“就一个类而言,应该只专注于做一件事和仅有一个引起变化的原因。” 这就是所谓的单一职责原则。

开放封闭原则:要求软件实体(类、模块以及功能等)对扩展开放,对修改封闭。

对外开放的关键是“抽象”,而对象的多态则保证了这种扩展的开发性。开放原则首先意味着卫门可以自由的增加功能,而不会影响系统的功能。其次开放原则还意味着实现是可以替换的。

Liskov替换原则:如果对于每一个类型为T1的对象o1,都有类型为T2的对象o2,使得以T1定义的所有程序P在所有的对象o1都替换成o2,程序P的行为没有变化,那么类型T2是类型T1的子类。

里氏替换原则是继承复用的基石。只有当衍生类可以替换掉父类,软件单位的功能不会受到影响时,基类才能正在被复用,而衍生类才可以在基类的基础上增加新的功能。

里氏替换原则在设计模式中的体现:

1.  策略模式

2.  合成模式

3.  代理模式

依赖倒转原则:要求客户端依赖于抽象耦合。即抽象不应该依赖于细节,细节应当依赖于抽象。依赖倒转的另一种表达方式:要针对接口编程,不要针对实现编程。

依赖倒置原则是OO设计的核心,列举在设计模式中的体现:

1.    工厂方法

2.    模板方法模式

3.    迭代模式

接口隔离原则:(Internet Segregation Principle,常常缩写ISP)讲的是:使用多个专门接口比使用单一接口要好。

换言之,从一个客户类的角度来讲:一个对另外一个类的依赖性应当是建立在最小的接口上的。

过于臃肿的接口是对接口的污染。

接口隔离原则在设计模式中的体现:

1.       适配器模式

合成/聚合复用原则(CARP):经常又叫做复用原则。就是在一个新的对象里面使用一些已有的对象,使之成为新对象的一部分;新的对象通过向这些对象的委派达到复用已有功能的目的。这个设计的另一个表述:要尽量使用复合/聚合,尽量不要使用集成。

迪米特法则(LOD):又叫最少只是原则。就是说一个对象应当对其他对象有尽可能少的了解。

迪米特法则与设计模式:

1.       门面模式

2.       调停模式

总结:

面向对象设计原则依然是面向对象思想的体现。例如:单一职责原则与接口隔离原则体现了封装的思想;开放封闭原则体现了对象的封装和多态;而Liskov替换原则体现的是对象继承的规范;至于依赖倒转原则,则是多态和抽象思想的体现。在充分理解面向对象思想的基础上,掌握基本的设计原则,并能够在项目设计中灵活运用这些原则,就能够改善我们的设计,尤其能够保证可重用性、可维护性与可扩展性等系统的质量属性。这些核心要素与设计原则,就是我们设计的对象法则,他们是理解和掌握设计模式的必备知识。

此类文章,只是代表个人目前学习所记录的笔记、心得。希望记录下来对自己以后也用,也希望看到的您能指点指点。

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:resty mail的简单发送邮件方法
下一篇:Jbpm介绍
相关文章

 发表评论

暂时没有评论,来抢沙发吧~