高内聚

高内聚:模块内部元素具有相同特点的相似程度。
高内聚提供了更好的程序可靠性、可读性。

模块:

  1. 什么是模块呢?

    小到一个方法、一个接口、一个类,大到一个业务,一个功能。

  2. 模块的四要素:

    接口:模块的输入和输出。
    功能:模块实现了什么功能。
    逻辑:模块内部如何实现要求的功能,以及所需要的数据。
    状态:指模块调用与被调用的关系。

  3. 而高内聚就是指模块内的相似程度

举例:

模块中有:
Class:新闻管理 Method:新闻查看、新闻更新、新闻删除
Class:用户管理 Method:设置用户名、设置密码、用户注册、用户删除

这两个例子就是高内聚,新闻类中提供的方法、元素都跟新闻有关,这就是具有相同特点的相似程度符合高内聚的标准。

低内聚:

Class:新闻管理 Method:新闻查看、新闻更新、新闻删除,用户注册

  1. 低内聚会给我们带来什么问题?

低耦合:能不引用绝不引用,宁可间接引用
牵一发而动全身

低耦合

指的是模块之间的依赖程度。
低耦合提供了更好的程序可扩展性和可复用性。

举例:

主板&显卡
显卡不依赖于某一款主板 低耦合
显卡必须依赖莫一款主板 高耦合

男&女
恋爱前,男和女互相不依赖 低耦合
恋爱后,男和女相互依赖 高耦合

再比如:

这也是低耦合,电源插座等,没有固定必须插什么牌子的插口,随机应变,这就是低耦合。