沉梦听雨的编程指南 沉梦听雨的编程指南
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 多媒体框架
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)

沉梦听雨

时间是最好的浸渍剂,而沉淀是最好的提纯器🚀
首页
  • 基础篇
  • 集合篇
  • 并发篇
  • JVM
  • 新特性
  • 计算机网络
  • 操作系统
  • 数据结构与算法
  • 基础篇
  • MySql
  • Redis
  • 达梦数据库
  • Spring
  • SpringBoot
  • Mybatis
  • Shiro
  • 设计须知
  • UML画图
  • 权限校验
  • 设计模式
  • API网关
  • RPC
  • 消息队列
  • SpringCloud
  • 分布式事务
  • 云存储
  • 搜索引擎
  • 多媒体框架
  • 虚拟机
  • 开发工具篇
  • 工具库篇
  • 开发技巧篇
  • 工具类系列
  • 随笔
  • 前端环境搭建
  • HTML与CSS
  • JS学习
  • Vue3入门
  • Vue3进阶
  • 黑马Vue3
  • 脚手架搭建
  • 瑞吉外卖
  • 黑马点评
  • vue-blog
  • 沉梦接口开放平台
  • 用户中心
  • 聚合搜索平台
  • 仿12306项目
  • 壁纸小程序项目
  • RuoYi-Vue
  • 博客搭建
  • 网站收藏箱
  • 断墨寻径摘录
  • 费曼学习法
Github (opens new window)
  • 设计须知

    • 命名规范
    • 聊聊什么是耦合度
      • 什么是耦合度?
      • 类型划分
      • 何为高内聚,低耦合
      • 实现高内聚低耦合的方法
      • 什么是单一原则?
    • 幂等性问题分析
    • LocalDateTime和DateTime
    • 那些关于管理系统的知识
    • 唯一索引和逻辑删除冲突解决方法
    • 日志记录相关
  • UML画图

  • 权限校验

  • 设计模式

  • 系统设计
  • 设计须知
沉梦听雨
2023-06-15
目录

聊聊什么是耦合度

# 耦合度详解

# 什么是耦合度?

耦合度(Coupling)指的是:模块或对象之间相互依赖的程度,即一个模块或对象对另一个模块或对象的依赖程度。

  1. 耦合度越高,表示一个模块或对象对其他模块或对象的依赖程度越紧密,这样会导致系统的可维护性、可扩展性和可复用性变差,增加系统的复杂度,降低系统的稳定性。
  2. 而耦合度越低,表示一个模块或对象对其他模块或对象的依赖程度越小,模块之间的独立性越高,这样会有利于系统的维护、扩展和重用,提高系统的可靠性和可维护性。

# 类型划分

耦合度可以分为以下几种类型:

  1. 内聚耦合(高内聚):模块内部的各个元素(函数、变量等)之间相互依赖,且依赖关系比较紧密,形成了一个独立的逻辑单元,这种耦合度称为内聚耦合。高内聚度的模块会使得代码更加清晰、易于理解和维护,同时可以提高代码的复用性。
  2. 控制耦合:一个模块通过传递控制信息(比如参数)来影响另一个模块的行为,这种耦合度称为控制耦合。控制耦合通常是一种必要的耦合,但是过度的控制耦合会增加模块之间的依赖性,使得系统的可维护性和可扩展性变差。
  3. 数据耦合:一个模块通过传递数据来影响另一个模块的行为,这种耦合度称为数据耦合。数据耦合是一种比较常见的耦合方式,但是过度的数据耦合会导致模块之间的依赖性增加,使得系统的复杂度和耦合度变高。
  4. 外部耦合(低内聚):一个模块依赖于另一个模块的接口或实现,这种耦合度称为外部耦合。外部耦合是一种比较强的依赖关系,容易使得系统的可维护性和可扩展性变差,因此应该尽可能避免。 在软件开发中,尽可能减少模块或对象之间的耦合度,提高模块或对象之间的独立性和内聚性,可以提高系统的可维护性、可扩展性和可重用性,从而提高软件的质量和开发效率。

# 何为高内聚,低耦合

高内聚和低耦合是软件工程中的两个重要概念,主要是为了提高软件的可维护性和可扩展性。

  1. 高内聚 是指一个模块或对象内部的元素彼此关联紧密,共同完成一个明确的任务或目标。高内聚的模块或对象尽可能地实现单一职责原则,将相关的功能集中在一起,减少不必要的依赖和副作用。这样可以提高代码的可读性、可维护性和可测试性,也可以降低代码的复杂度和耦合度。
  2. 低耦合 是指一个系统中各个模块或对象之间的依赖关系尽可能地松散,不同的模块或对象之间只通过公共接口进行通信和交互,而不直接依赖于彼此的实现细节。低耦合可以减少模块之间的相互影响,提高代码的可复用性和可扩展性,也可以降低系统的维护成本和风险。

高内聚和低耦合都是软件设计和开发中的重要原则,可以帮助我们构建更加健壮、可靠和易于维护的软件系统。

# 实现高内聚低耦合的方法

  • 遵循单一职责原则,将相关功能集中在一个模块中
  • 最小化模块间通信,使用少量稳定的接口进行交互
  • 采用面向接口编程和职责分离,而不是面向实现编程
  • 使用设计模式提高内聚和降低耦合
  • 避免循环依赖和过度依赖另一个模块内部
  • 使用依赖注入等机制实现松耦合

# 什么是单一原则?

单一职责原则的定义是: 一个类应该只有一个引起它变化的原因。

也就是说,一个类只应该有一项主要的职责或功能。

遵循单一职责原则的好处有:

  • 降低类的复杂度,优化类的可读性和可维护性
  • 提高类的内聚性
  • 提高代码的可复用性
  • 有利于单元测试,测试时只需针对一个职责
  • 降低代码修改带来的风险

违反单一职责原则的代码往往表现为:

  • 一个类实现了多个不相关的功能,类名称难以描述其职责
  • 一个类中的方法数量过多,完成了许多细节功能
  • 修改一个功能会影响类中的其他功能

要遵循单一职责原则,可以:

  • 为每个职责创建单独的类
  • 使用设计模式避免职责过多的类
  • 将无关职责的代码拆分到不同的类中
  • 保持类和方法的简洁性和聚焦性
上次更新: 2024/9/25 11:16:13
命名规范
幂等性问题分析

← 命名规范 幂等性问题分析→

Theme by Vdoing | Copyright © 2023-2025 沉梦听雨 | MIT License
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式