什么叫高内聚,低耦合 超简单生活例子,让你一看就明白

简介: 本文通过生活化的例子解释了高内聚和低耦合的概念,强调了在编写代码时应该追求高内聚(相关功能紧密组合)和低耦合(功能间相互独立,减少相互影响),以提高代码质量和可维护性。

首先,咱要清楚一点:

高内聚,低耦合 => 好的代码

高内聚和低耦合是好的代码必须具备的特点

1、什么叫做高内聚呢?

高内聚: 把有关联的东西放在一起,最好能放在指定的地方(好找)

举例子:

我夫人特别温柔,上得厅堂,下得厨房,但有一个很明显的缺点,平时东西会乱放

    她的衣服,会出现在很多地方

    比如,床上,衣柜上,沙发上,椅子上,地上,晾衣架上...

    可谓是无处不在

    于是,每当她想找某个衣服,就会非常困难

    我给夫人找一件衣服,就需要把我家的各个角落都遍历一遍,甚至还不一定能找到

上述情况,就是“低内聚”

2、什么叫做低耦合呢?

耦合: 两个模块/代码 之间的关联关系,关联关系越大,越容易相互影响,认为是耦合越大

代码,追求的是低耦合,避免“牵一发而动全身”这边一改出 bug,影响到了其他的地方

举例子:

    1、最近公司加班,我太忙了,一周没回家,夫人思念成疾,住院了,我当时退掉所有工作,请假去医院照顾她

    这就是高耦合

    2、但如果说我高中暗恋的女同学生病了,我得知消息后顶多发个消息意思意思,不会影响我的工作和生活

    这就是低耦合
目录
相关文章
|
存储 算法 NoSQL
还分不清 Cookie、Session、Token、JWT?看这一篇就够了
Cookie、Session、Token 和 JWT(JSON Web Token)都是用于在网络应用中进行身份验证和状态管理的机制。虽然它们有一些相似之处,但在实际应用中有着不同的作用和特点,接下来就让我们一起看看吧,本文转载至http://juejin.im/post/5e055d9ef265da33997a42cc
47661 13
|
SQL 存储 关系型数据库
解析MySQL Binlog:从零开始的入门指南【binlog入门指南】
解析MySQL Binlog:从零开始的入门指南【binlog入门指南】
13398 0
|
存储 安全 API
基于FreeRTOS中的串口不定长接收(使用队列进行数据传输)
基于FreeRTOS中的串口不定长接收(使用队列进行数据传输)
1248 0
|
搜索推荐 数据可视化 数据挖掘
基于Python flask框架的招聘数据分析推荐系统,有数据推荐和可视化功能
本文介绍了一个基于Python Flask框架的招聘数据分析推荐系统,该系统具备用户登录注册、数据库连接查询、首页推荐、职位与城市分析、公司性质分析、职位需求分析、用户信息管理以及数据可视化等功能,旨在提高求职者的就业效率和满意度,同时为企业提供人才匹配和招聘效果评估手段。
519 0
基于Python flask框架的招聘数据分析推荐系统,有数据推荐和可视化功能
|
Web App开发 JSON 安全
Chrome浏览器的跨域问题
【10月更文挑战第6天】
1876 123
|
8月前
|
存储 缓存 人工智能
工作中,Redis的15种使用场景
Redis 在现代应用中扮演着至关重要的角色,涵盖缓存加速、分布式锁、实时排行榜、计数器、消息队列等15种常见场景。它通过高效的数据结构和原子操作,大幅提升系统性能和响应速度,广泛应用于会话管理、签到系统、限流控制、购物车、抽奖活动、全页缓存、发布订阅、地理位置服务、分布式ID生成及数据过期处理等领域。灵活运用这些特性,可显著优化开发效率和用户体验。
1279 0
工作中,Redis的15种使用场景
|
10月前
|
存储 人工智能 数据库
面向医疗场景的大模型 RAG 检索增强解决方案
本方案为您介绍,如何使用人工智能平台 PAI 构建面向医疗场景的大模型 RAG 检索增强解决方案。
|
Prometheus 监控 Cloud Native
性能监控之 Golang 应用接入 Prometheus 监控
【8月更文挑战第4天】性能监控之 Golang 应用接入 Prometheus 监控
612 0
性能监控之 Golang 应用接入 Prometheus 监控
|
11月前
|
JavaScript 前端开发 开发者
Vue 3中的Proxy
【10月更文挑战第23天】Vue 3中的`Proxy`为响应式系统带来了更强大、更灵活的功能,解决了Vue 2中响应式系统的一些局限性,同时在性能方面也有一定的提升,为开发者提供了更好的开发体验和性能保障。
445 7
|
8月前
|
缓存 自然语言处理 安全
快速调用 Deepseek API!【超详细教程】
Deepseek 强大的功能,在本教程中,将指导您如何获取 DeepSeek API 密钥,并演示如何使用该密钥调用 DeepSeek API 以进行调试。