Java编码思想之什么是高内聚低耦合?
2024-08-27 15:24:41
分别描述的是模块内部特征,和模块外部引用关系。 内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。
内聚是就其中任何一个模块的内部特征而言的。
耦合是就多个模块组成的系统中各个模块的关联关系而言的。
高内聚是说模块内部要高度聚合,低耦合是说模块与模块之间的藕合度要尽量低。前者是说模块内部的关系,后者是说模块与模块间的关系。
起因:模块独立性指每个模块只完成系统要求的独立子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。
耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
耦合性与内聚性是模块独立性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的独立性,为设计高质量的软件结构奠定基础。
有个例子很容易明白:一个程序有50个函数,这个程序执行得非常好;然而一旦你修改其中一个函数,其他49个函数都需要做修改,这就是高耦合的后果。
一旦你理解了它,你编写概要设计的时候设计类或者模块自然会考虑到“高内聚,低耦合”。
一旦你理解了它,你编写概要设计的时候设计类或者模块自然会考虑到“高内聚,低耦合”。
最新文章
- 以最简单方式学习Linux
- CSS水平垂直居中的方法
- 关于lazyload插件的一些笔记
- 演示Android百度地图操作功能
- codeforces 500A. New Year Transportation
- mongoose学习笔记1--基础知识1
- CSS Hack大全-教你如何区分出IE6-IE10、FireFox、Chrome、Opera
- word转pdf字体格式变乱的问题
- 使用gson解析,生成Json
- 【WP之一】]独立存储
- 在ASP.NET MVC中验证checkbox 必须选中 (Validation of required checkbox in Asp.Net MVC)
- HW5.31
- 在树莓派上部署asp.net
- Web开发安全小贴士
- Spring 学习笔记(七)—— 切入点表达式
- win 10 dpi:150% 与 win 7 dpi:150% 的不同之处
- Algorithm 学习环境准备
- archlinux 下使用 aria2+uget 作为下载工具
- 单片机小白应该如何学习stm32的一些实践心得!
- Practical Node.js (2018版) 第9章: 使用WebSocket建立实时程序,原生的WebSocket使用介绍,Socket.IO的基本使用介绍。
热门文章
- 蓝桥杯 算法训练 ALGO-156 表达式计算
- 机器学习:集成学习(OOB 和 关于 Bagging 的更多讨论)
- MongoTemplate聚合操作
- 创建github怎样管理
- windows下python访问ipv6报错
- [Chapter 3 Process]Practice 3.2 Including the initial parent process, how many processes are created by the program shown in Figure?
- QT5提示can not find -lGL的解决方法
- eclipse安卓模拟器Failed to install on device 'emulator-5554': timeout处理方案
- jumpserver跳板机的搭建
- spring读取classpath目录下的配置文件通过表达式去注入属性值.txt