设计思想之高内聚低耦合
1.什么是高内聚?
内聚针对的是模块内部关系,指的是模块各构成要素间的联系,高内聚说明各构成要素间联系紧密。
2.高内聚的优点
各构成要素间联系紧密,说明各构成要素是实现模块功能充分的存在,没有某一个要素是实现功能不需要的,各要素都被充分地利用了起来,不仅使代码简洁,而且便于维护与复用。试想,假如某一部分对于功能而言有时需要,有时不需要,那么修改模块功能时就需要对情况作出判断,使修改变得复杂。
高内聚的一个重要标志是模块功能单一。假如一个模块实现了两个功能,那么实现这两个功能的代码间的联系必定是松散的,在修改一个功能时很能判断对另一功能的影响,或者将模块迁移到一个环境中时,很能评估另一个不关注的功能对运行的影响。
3.什么是低耦合?
耦合针对的是模块间的关系,指的是模块间的依赖关系,两个模块间依赖较弱,就是低耦合。
4.低耦合的优点
一个模块对其他模块依赖较弱,那么当其他模块发生变化时,只能受到影响较小,在软件中表现为,当某一个模块修改时,自身不需要修改,或者只需简单修改。
参考:
https://baike.so.com/doc/3130751-3299748.html
转载于:https://www.cnblogs.com/tonghun/p/7133435.html
设计思想之高内聚低耦合相关推荐
- 8.18 模块设计原则:高内聚低耦合
8.18 模块设计原则:高内聚低耦合 模块内聚 定义(软考) 块内联系:模块内各元素的关联.交互程度 从功能角度:自己的功能自己实现,不麻烦其它模块 如何实现高内聚 功能内聚:模块的功能尽可能单一 模 ...
- Java编程思想之高内聚低耦合
文章目录 1 前言 2 低耦合 2.1 耦合性定义 2.2 耦合性分类 2.3 使用低耦合 3 高内聚 3.1 高内聚定义 3.2 内聚性分类 4 示例 5 高内聚,低耦合的系统有什么好处呢 6 降低 ...
- 软件设计原则:高内聚低耦合
这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计,主要是看类的内聚性是否高,偶合度是否低. 一个程序有50个函数,这个程序执行得非常好:然而一旦你修改其中一个函数,其他49个函数都需要 ...
- 软件设计之——“高内聚低耦合”
耦合度 一.什么是耦合度 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 耦合度(Coupling)是对模块间关联程度的度量.耦合的强弱取决与模块间接口 ...
- 软件设计之——高内聚低耦合
耦合度 一.什么是耦合度 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 耦合度(Coupling)是对模块间关联程度的度量.耦合的强弱取决与模块间接口 ...
- 高内聚低耦合设计原则
高内聚低耦合 高内聚低耦合是模块设计的基本原则.模块设计就像四世同堂居家过日子,妯娌婆媳吃大锅饭.柴米油盐不分你我很容易伤和气:如果亲兄弟明算账,每顿饭都AA又太显得生分,不利于和谐,因此把握好一个度 ...
- python模块化设计耦合度_模块化开发——高内聚低耦合
前言:emmm最近都在赶进度,已经好久没输出了,接下来都使用MakeDown文档写文,推荐大家使用VsCode编译工具,加入Markdown Preview Enhanced插件,创建一个MD文件,复 ...
- 浅谈面向对象开发原则:高内聚,低耦合
软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计,主要是看类的内聚性是否高,偶合度是否低 ...
- 最简单理解高内聚低耦合
低耦合: 耦合就是元素与元素之间的连接,感知和依赖量度.这里说的元素即是功能,对象,系统,子系统.模块. 例如:现在有方法A和方法B 我们在A元素去调用B元素,当B元素有问题或者不存在的时候,A元素就 ...
- 知识篇: 面向对象开发原则.高内聚.低耦合+Python安装详细教程+print输出带颜色的方法...
面系那个对象开发原则.高内聚.低耦合 软件设计中通常用耦合度和内聚度作为衡量模块独立程度的标准.划分摸块的一个准则就是高内聚低耦合. 这是软件工程中的概念,是判断设计好坏的标准,主要是面向OO的设计, ...
最新文章
- win7无法打开计算机共享文件,win7不能共享文件的解决方法
- linux ping策略打开_linux ping策略打开_如何在Linux服务器禁止和开启ping包 互联网技术圈 互联网技术圈......
- W10系统配置java环境变量
- 中文分词软件SCWS
- 邻接矩阵实现(有向邻接矩阵)、(无向邻接矩阵) 基于C++
- 《水经注地图发布服务中间件4.0》性能测试报告
- Mac上的三款时钟屏保
- 参加天池大数据竞赛是怎样一种体验?
- bios卡+型号+hp服务器,HPE Gen9 server UEFI BIOS下升级BIOS 阵列卡 HBA卡固件的操作方法...
- 计算机的中央处理器CPU包括什么,中央处理器cpu由哪些组成 中央处理器的作用是什么...
- 学习游戏原画需要什么条件或者基础吗?
- 插入(希尔)排序时间、空间复杂度
- Google Sheet 学习笔记
- APS审核经验+审核资料汇总——计算机科学与技术专业上海德语审核
- tensorflow实现数据增强(随机裁剪、翻转、对比度设置、亮度设置)
- Java数据类型及拓展面试题
- Automated pulmonary nodule detection in CT images using deep convolutional neural networks
- 【信号与系统】预习笔记(每日更新ing)
- Oracle 10g R2 Student PPTs
- Kafka 中 AR、ISR、OSR 是什么?ISR 的伸缩性什么?
热门文章
- 模板题——单链表双链表,数组模拟的栈和队列,单调栈和单调队列
- ENVI去除NDVI/EVI异常值、NAN(not a number,无效值)、无穷大(inf)
- 空间中任一点到超平面的距离公式的推导过程
- mysqldump 工具的使用
- IDEA使用技巧--在文件导航栏中屏蔽指定后缀名的文件
- android消息处理机制原理解析
- 安卓滚动字幕以及TextSwitcher、ImageSwitcher使用
- Android Architecture Blueprints----安卓架构详细分析
- View.Post()保证UI带你装逼带你飞
- 一个强大的网络库RxEasyHttp