zoukankan      html  css  js  c++  java
  • 面向对象设计原则汇总

    本文除了SOLID五个原则,还加了迪米特法则、组合/聚合复用原则。

    即SOLID + LoD + CARP。


     1. 单一职责原则(SRP,Single Responsibility Principle)

    一个类应该只有一个职责。(一个类应该只有一个引起其变化的原因)

    2. 开闭原则(OCP,Open/Closed Principle)

    对扩展开放,对修改关闭。(支持扩展,限制修改)

    3. 里氏替换原则(LSP,Liskov Substitution Principle)

    子类必须能替换父类;否则,不应设计为子类。

    4. 接口隔离原则(ISP,Interface Segregation Principle)

    将大的接口拆分为小的接口。(每个接口实现一个职责,方便组合)

    5. 依赖倒置原则(DIP,Dependency Inversion Principle,或IoC,控制反转)

    a. 高层模块不应该依赖低层模块,它们都应该依赖抽象;

    b. 抽象不应依赖具体,具体应该依赖抽象。

    6. 迪米特法则(LoD,Law of Demeter, 或者最少知识原则,LKP, Least Knowledge Principle)

    一个对象应该尽可能少的了解其他对象。(松耦合)

    7. 组合/聚合复用原则(CARP,Composition/Aggregation Reuse Principle)

    优先使用组合/聚合,而非继承。

  • 相关阅读:
    类的加载过程
    算法模板之基数排序
    算法模板之Dijkstra
    算法模板之SPFA
    算法模板之树状数组
    算法模板之排序
    深入JVM-自动内存管理(读书笔记)
    VMware Fault-Tolerant Virtual Machine 论文总结
    深入JVM--高效并发(读书笔记)
    欧拉素数筛
  • 原文地址:https://www.cnblogs.com/huangzejun/p/7994250.html
Copyright © 2011-2022 走看看