面向对象设计原则

一、开放封闭原则

开放封闭原则规定,类或对象及其方法对于扩展来说,应该是开放的;但是对于修改来说,应该是封闭的。

这意味着当开发软件应用的时候,一定要确保以通用的方式来编写类或模块,以便每当需要扩展类或对象行为的时候不必修改类本身。相反,类的简单扩展将有助于建立新的行为。

也就是说为了实现所需行为,用户必须通过扩展抽象基类来创建类的实现,而不是通过修改抽象类。

优点:

     现有的类不会被修改,降低现有应用出错的可能性。

     它有助于保持以前代码的向后兼容性。

二、控制反转原则

控制反转原则是指,高层级的模块不应该依赖与底层级的模块,他们应该都依赖于抽象。细节应该依赖于抽象,而不是抽象依赖于细节。

该原则建议任何两个模块都不应以紧密方式相互依赖。事实上,基本模块和从属模块应当在它们之间提供一个抽象层来耦合。这个原则还建议,类的细节应该描绘抽象。在某些情况下,这种观念会反转,也就是实现细节本身决定了抽象,这种情况应该避免的

优点:

    消弱了模块间的紧耦合,因此消除了系统中的复杂性

    由于在以来模块之间有一个明确的抽象层,因此便于通过更好的方式处理模块之间的依赖关系

三、接口隔离原则

接口隔离原则规定,客户端不应该依赖于它们不需要使用的接口。

接口隔离原则的意思就是,软件开发人员应该仔细的处理接口。他提醒开发人员开发的方法要与特定的功能紧密相关;如果存在与接口无关的方法,那么依赖于该接口的类就必须实现它,实际上这是毫无必要的。

优点:

     它强制开发人员编写”瘦身型“接口,并使用方法与接口紧密相关。

     防止向接口中随意添加方法。

四、单一职责原则

单一职责的含义是:类的职责单一,引起类变化的原因单一

当我们开发类时,他应该为特定的功能服务。如果一个类实现了两个功能,那么最好是把他们分开,也就是说功能才是改变的理由。一个类可以为所需行为的变化而进行修改,但是一个类由于两个因素(基本上是两个功能的改变)而改变,那么该类就应该进行相应的分割。

优点:

     每当一个功能发生改变时,除了特定的类需要改变外,其他的类无需变动。

     此外,如果一个类有多种功能,那么依赖它的类必定会由于多种原因而经历多次修改,这是应该避免的。

五、替换原则

替换原则规定,派生类必须能够完全取代基类。

当我们编写派生类时,该原则的含义就是我们应该扩展基类。它还建议派生类尽可能对基类封闭,以至于派生类本身可以替换基类,而无需修改任何代码

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值