OOP-面向对象程序设计七大原则

OOP七大设计原则

设计原则 一句话归纳 目的
开闭原则 对扩展开放,对修改关闭 降低维护带来的新风险
依赖倒置原则 高层不应该依赖低层,要面向接口编程 更利于代码结构的升级扩展
单一职责原则 一个类只干一件事,实现类要单一 便于理解,提高代码的可读性
接口隔离原则 一个接口只干一件事,接口要精简单一 功能解耦,高聚合、低耦合
迪米特法则 不该知道的不要知道,一个类应该保持对其它对象最少的了解,降低耦合度 只和朋友交流,不和陌生人说话,减少代码臃肿
里氏替换原则 不要破坏继承体系,子类重写方法功能发生改变,不应该影响父类方法的含义 防止继承泛滥
合成复用原则 尽量使用组合或者聚合关系实现代码复用,少使用继承 降低代码耦合
  1. 开闭原则:

    • 对扩展开放:某模块的功能是可扩展的,则该模块是扩展开放的。使软件系统的扩展性更强。
    • 对修改关闭:某模块被其他模块调用,如果该模块的源代码不允许修改,则该模块修改关闭的。使软件系统的功能稳定性更强。

    稳定性:开闭原则要求扩展功能不修改原来的代码,这可以让软件系统在变化中保持稳定。
    扩展性:开闭原则要求对扩展开放,通过扩展提供新的或改变原有的功能,让软件系统具有灵活的可扩展性。
    遵循开闭原则的系统设计,可以让软件系统可复用,并且易于维护。

  2. 依赖倒置原则:

    细节具有多变性,而抽象层则相对稳定,应该面向接口(抽象)编程,而不是面向实现编程。

  3. 单一职责原则:

    单一职责原则规定一个类应该有且仅有一个引起它变化的原因,否则类应该被拆分

  4. 接口隔离原则:

    客户端不应该*依赖于它不使用的方法,一个类对另一个类的依赖应该建立在最小的接口上。

    以上两个定义的含义是:要为各个类建立它们需要的专用接口,而不要试图去建立一个很庞大的接口供所有依赖它的类去调用。

  5. 迪米特法则:

    一个类应该尽可能少的与类发生相互依赖,局限于与本类密切相关的类,降低耦合性。

  6. 里氏代换原则:

    所有引用父类的地方必须能使用子类对象,且代码正常工作,不应该使用if/else判断类。

  7. 合成复用原则:

    如果要使用继承关系,则必须严格遵循里氏替换原则。

    合成复用原则是通过将已有的对象纳入新对象中,作为新对象的成员对象来实现的,新对象可以调用已有对象的功能,从而达到复用。

OOP-面向对象程序设计七大原则

参考资料:

http://c.biancheng.net/view/1322.html

https://blog.csdn.net/qq_34760445/article/details/82931002#The_OpenClosed_Principle_OCP_18

上一篇:对Ioc、AOP、Springboot的理解


下一篇:10-python面向对象的编程(OOP)