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)

     

  • 相关阅读:
    windows下安装redis以及redis扩展,设置redis为windows自启服务
    Redis和Memcache的区别
    Git 简单入门使用
    ssh 连接 mac osx下 virtual box虚拟机中的 cent os 记录
    把可运行jar转换成Linux服务运行
    CentOS 7 配置FTP(vsftpd)
    团队总结
    第五周小组项目总结
    第四周小组项目总结
    第三周小组项目总结
  • 原文地址:https://www.cnblogs.com/sheeva/p/6034999.html
Copyright © 2011-2022 走看看