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)

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

  • 相关阅读:
    把数组排成最小的数
    整数中1出现的次数
    连续子数组的最大和
    快速排序
    penCV入门
    OpenCV视频操作
    linux下导入oracle数据表
    js工作备注
    oracle创建默认表空间---重要
    oracle的导入导出
  • 原文地址:https://www.cnblogs.com/huangzejun/p/7994250.html
Copyright © 2011-2022 走看看