美文网首页iOS设计模式学习笔记
什么是设计模式中的高内聚低耦合?

什么是设计模式中的高内聚低耦合?

作者: Bondi_blue | 来源:发表于2019-11-21 00:07 被阅读0次

模块

模块就是从逻辑上将系统分解为更细微的部分, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决。

耦合

主要描述模块之间的关系, 内聚主要描述模块内部.。模块的粒度可大可小, 可以是函数, 类, 功能块等等。耦合模块之间存在依赖, 导致改动可能会互相影响, 关系越紧密, 耦合越强, 模块独立性越差。
比如模块A直接操作了模块B中数据, 则视为强耦合, 若A只是通过数据与模块B交互, 则视为弱耦合.独立的模块便于扩展, 维护, 写单元测试, 如果模块之间重重依赖, 会极大降低开发效率。

耦合

内聚

模块内部的元素, 关联性越强, 则内聚越高, 模块单一性更强。
一个模块应当尽可能独立完成某个功能, 如果有各种场景需要被引入到当前模块, 代码质量将变得非常脆弱, 这种情况建议拆分为多个模块.低内聚的模块代码, 不管是维护, 扩展还是重构都相当麻烦, 难以下手。

内聚

设计模式六大原则

接口设计原则好的接口应当满足设计模式六大原则, 很多设计模式, 框架都是基于高内聚低耦合这个出发点的。

  1. 单一职责原则: 一个类只负责一个功能领域中的相应职责。
  1. 开闭原则: 一个软件实体应当对扩展开放,对修改关闭。
  1. 里氏代换原则: 所有引用基类(父类)的地方必须能透明地使用其子类的对象。
  1. 依赖倒转原则: 抽象不应该依赖于细节, 细节应当依赖于抽象. 换言之, 要针对接口编程, 而不是针对实现编程。
  1. 接口隔离原则: 使用多个专门的接口, 而不使用单一的总接口, 即客户端不应该依赖那些它不需要的接口。
  1. 迪米特法则: 一个软件实体应当尽可能少地与其他实体发生相互作用, 例如外观模式, 对外暴露统一接口。

相关文章

  • 设计模式之六大原则

    设计模式的六大原则都是为了实现代码的高内聚低耦合。高内聚低耦合的进一步实现是设计模式的六大原则,设计模式的六大原则...

  • 阿里云企业级互联网架构实践系列-微服务设计(原则)

    1.关于高内聚 低耦合的正确的描述 A: 高内聚低耦合,是软件工程中的概念B: 是判断设计好坏的标准C: 主要是面...

  • 什么是设计模式中的高内聚低耦合?

    模块 模块就是从逻辑上将系统分解为更细微的部分, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决。 耦合 主要...

  • 设计模式学习(一)

    一.面向对象程序设计中的五大原则及法则 原则及法则的目的:使代码高内聚低耦合,高内聚即类内成员关系度高,低耦合指类...

  • 2018-04-04 低耦合(Low Coupling)

    “低耦合、高内聚”,它已经成为软件设计质量的标准之一。那么什么是低耦合?耦合就是对某元素与其它元素之间的连接、感知...

  • 浅谈设计模式

    #面向对象 三大特性 封装 继承 多态[高内聚低耦合 也叫强内聚松耦合] 每一种模式都有各自的场景 ##工厂模式 ...

  • 如何理解高内聚低耦合?什么是依赖倒置、控制反转、依赖注入?

    软件工程里面,有高内聚低耦合的概念。 那么,什么是内聚?什么是耦合呢? 内聚 所谓内聚,就是指一个功能模块内所有内...

  • React组件概念

    组件   作为软件设计的通用原则,组件的划分要满足高内聚和低耦合。高内聚是指把逻辑紧密相关的内容放在一个组件中,低...

  • 迪米特法则

    软件开发一直在推崇一个概念-低耦合、高内聚。 那什么样的代码设计才算得上低耦合、高内聚的代码。本文通过迪米特法则来...

  • 浅谈高内聚低耦合

    前言 高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,看类的内聚性是否高,耦合度是否...

网友评论

    本文标题:什么是设计模式中的高内聚低耦合?

    本文链接:https://www.haomeiwen.com/subject/nkxzictx.html