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

    内聚

    定义:一个模块内部元素彼此结合的紧密程度。

    分类:

    1. 偶然内聚 (Coincidental cohesion)
    2. 逻辑内聚 (Logical cohesion)
    3. 时间内聚 (Temporal cohesion)
    4. 过程内聚 (Procedural cohesion)
    5. 信息内聚 (Informational cohesion)
    6. 顺序内聚 (Sequential cohesion)
    7. 功能内聚 (Functional cohesion) :元素都是为了完成同一个单一任务。内聚性最好的一种方式。

    耦合

    定义:模块之间相互依赖的程度

    分类:

    1. 无耦合
    2. 消息耦合:比较理想的耦合
    3. 数据耦合
    4. 数据结构耦合
    5. 控制耦合:如工厂类
    6. 外部耦合:两个模块对其他模块没有直接感知,两个模块之间也没有直接的交互,而是通过约定俗成的“协议”、“格式”、“接口”等完成分工合作
    7. 全局耦合
    8. 内容耦合:一个模块依赖另一个模块的内部内容(主要是数据成员)时,称为内容耦合。是最差的一种耦合。

    高内聚低耦合

    为什么要高内聚低耦合:降低复杂性

    高内聚低耦合是否意味着内聚越高越好,耦合越低越好:并不是,因为高内聚和低耦合是相互冲突的。

    类设计原则(SOLID)

    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)

     

  • 相关阅读:
    第2次实践作业
    第1次实践作业
    软工实践个人总结
    2019 SDN大作业
    第08组 Beta版本演示
    第八章学习小结
    第七章学习小结
    第六章学习小结
    第五章学习小结
    第4章学习小结
  • 原文地址:https://www.cnblogs.com/sheeva/p/6034999.html
Copyright © 2011-2022 走看看