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

本文介绍了面向对象设计中的六大基本原则:单一职责原则、开放封闭原则、Liskov替换原则、依赖倒置原则、接口隔离原则及迪米特法则,并探讨了它们在设计模式中的具体应用。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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

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

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替换原则体现的是对象继承的规范;至于依赖倒转原则,则是多态和抽象思想的体现。在充分理解面向对象思想的基础上,掌握基本的设计原则,并能够在项目设计中灵活运用这些原则,就能够改善我们的设计,尤其能够保证可重用性、可维护性与可扩展性等系统的质量属性。这些核心要素与设计原则,就是我们设计的对象法则,他们是理解和掌握设计模式的必备知识。

      

      

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

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值