面向对象七大原则

一 开闭原则(The Open-Closed Principle ,OCP)
开闭原则:软件实体应当对扩展开放,对修改关闭。
根据开闭原则,在设计一个软件系统模块(类,方法)的时候,应该可以在不修改原有的模块(修改关闭)的基础上,能扩展其功能(扩展开放)。
扩展开放:某模块的功能是可扩展的,则该模块是扩展开放的。软件系统的功能上的可扩展性要求模块是扩展开放的。
修改关闭:某模块被其他模块调用,如果该模块的源代码不允许修改,则该模块修改关闭的。软件系统的功能上的稳定性,持续性要求模块是修改关闭的。

二 单一职责原则(Single Responsibility Principle,SRP)
单一职责原则是最简单的面向对象设计原则,它用于控制类的粒度大小。
单一职责原则:一个对象应该只包含单一的职责,并且该职责被完整地封装在一个类中。
该原则提出对象不应该承担太多职责,如果一个对象承担了太多的职责,至少存在以下两个缺点:
一个职责的变化可能会削弱或者抑制这个类实现其他职责的能力;
当客户端需要该对象的某一个职责时,不得不将其他不需要的职责全都包含进来,从而造成冗余代码或代码的浪费。

三 里氏替换原则(Liskov Substitution Principle ,LSP)
里氏代换原则:所有引用基类的地方必须能透明地使用其子类的对象
符合条件:

    不应该在代码中出现if/else之类对派生类类型进行判断的条件。
    派生类应当可以替换基类并出现在基类能够出现的任何地方

**四 迪米特原则(**最少知道原则)(Law of Demeter ,LoD)
第米特原则:talk only to your immediate friends,只与你直接的朋友们通信,不要跟“陌生人”说话。
一个软件实体应当尽可能少的与其他实体发生相互作用。每一个软件单位对其他的单位都只有最少的知识,而且局限于那些与本单位密切相关的软件单位。
迪米特法则中的“朋友”是指:当前对象本身、当前对象的成员对象、当前对象所创建的对象、当前对象的方法参数等,这些对象同当前对象存在关联、聚合或组合关系,可以直接访问这些对象的方法。

五 接口隔离原则(Interface Segregation Principle, ISP)
接口隔离原则:使用多个专门的接口,而不使用单一 的总接口,即客户端不应该依赖那些它不需要的接口。

六 依赖倒置原则(Dependency Inversion Principle ,DIP)
依赖倒置原则:高层模块不应该依赖底层模块,它们都应该依赖抽象。抽象不应该依赖于细节,细节应该依赖于抽象。

七 合成复用原则(Composite/Aggregate Reuse Principle ,CARP)
合成复用原则(:尽量使用对象组合,而不是继承来达到复 用的目的。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值