发布网友 发布时间:2022-04-21 08:21
共5个回答
懂视网 时间:2022-04-21 12:42
高内聚低耦合的原则是:
1、一个功能模块内功能要联系密切;
2、把联系不密切的功能放在不同的功能模块内;
3、尽量减少模块间的联系。
高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。
所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
耦合性与内聚性是模块性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的性,为设计高质量的软件结构奠定基础。内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事,它描述的是模块内的功能联系;耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。
热心网友 时间:2022-04-21 09:50
高耦合低内聚:块间联系高,块内联系低。
其中内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事。它描述的是模块内的功能联系。
而耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。
高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
程序开发中的低耦合高内聚
模块之间联系越紧密,其耦合性就越强,模块之间越则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。
形象的说,就是要将代码写的和电脑一样,主类就是电脑的主机箱,当程序需要实现什么功能的时候只需要加其他的类引入接口,就像电脑上的usb接口。
一个完整的系统,模块与模块之间,尽可能的使其存在。也就是说,让每个模块,尽可能的完成某个特定的子功能。
模块与模块之间的接口,尽量的少而简单。如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。这样有利于修改和组合。
在程序开发中,尽量做到低耦合高内聚,这样程序的维护成本以及可读性也会大大增强。
参考资料来源:百度百科-高内聚低耦合
热心网友 时间:2022-04-21 11:08
低耦合高内聚是软件设计的一个基本原则,说的是在程序的各各模块中,尽量让每个模块,相关的处理尽量在单个模块中完成,就是俗话说的:该干嘛干吗去! 优点:能提降低各模块的之间的联系,减少“牵一发而动全身”的几率,提高开发效率,降低升级维护成本,也便于进行单元测试,提高软件质量。
热心网友 时间:2022-04-21 12:59
内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。
所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
用代码理解就是一个类尽量只形容一类事物,如果发现你写的2个类有共同的属性和方法就尽量提出来做成父类,方法就是尽量做到单一,不要一个方法就把一个功能写完了。高内聚就是在类中把方法和属性紧密的联系在一起 比如:写一个功能时尽量多分成好几个方法 在用一个方法把这些方法综合起来,对外就提供这一个方法就好了,
热心网友 时间:2022-04-21 15:07
起因:模块性指每个模块只完成系统要求的子功能,并且与其他模块的联系最少且接口简单,两个定性的度量标准――耦合性和内聚性。
耦合性也称块间联系。指软件系统结e68a84e799bee5baa6e997aee7ad9431333332633039构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
耦合性分类(低――高):
无直接耦合;数据耦合;标记耦合;控制耦合;公共耦合;内容耦合;
1
无直接耦合:
2
数据耦合:
指两个模块之间有调用关系,传递的是简单的数据值,相当于高级语言的值传递;
3
标记耦合:
指两个模块之间传递的是数据结构,如高级语言中的数组名、记录名、文件名等这些名字即标记,其实传递的是这个数据结构的地址;
4
控制耦合:
指一个模块调用另一个模块时,传递的是控制变量(如开关、标志等),被调模块通过该控制变量的值有选择地执行块内某一功能;
5
公共耦合:
指通过一个公共数据环境相互作用的那些模块间的耦合。公共耦合的复杂程序随耦合模块的个数增加而增加。
6
内容耦合:
这是最高程度的耦合,也是最差的耦合。当一个模块直接使用另一个模块的内部数据,或通过非正常入口而转入另一个模块内部。
内聚性又称块内联系。指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。若一个模块内各元素(语名之间、程序段之间)联系的越紧密,则它的内聚性就越高。
内聚性匪类(低――高):
偶然内聚;逻辑内聚;时间内聚;通信内聚;顺序内聚;功能内聚;
1
偶然内聚:
指一个模块内的各处理元素之间没有任何联系。
2
逻辑内聚:
指模块内执行几个逻辑上相似的功能,通过参数确定该模块完成哪一个功能。
3
时间内聚:
把需要同时执行的动作组合在一起形成的模块为时间内聚模块。
4
通信内聚:
指模块内所有处理元素都在同一个数据结构上操作(有时称之为信息内聚),或者指各处理使用相同的输入数据或者产生相同的输出数据。
5
顺序内聚:
指一个模块中各个处理元素都密切相关于同一功能且必须顺序执行,前一功能元素输出就是下一功能元素的输入。
6
功能内聚:
这是最强的内聚,指模块内所有元素共同完成一个功能,缺一不可。与其他模块的耦合是最弱的。
耦合性与内聚性是模块性的两个定性标准,将软件系统划分模块时,尽量做到高内聚低耦合,提高模块的性,为设计高质量的软件结构奠定基础。
有个例子很容易明白:一个程序有50个函数,这个程序执行得非常好;然而一旦你修改其中一个函数,其他49个函数都需要做修改,这就是高耦合的后果。
一旦你理解了它,你编写概要设计的时候设计类或者模块自然会考虑到高内聚,低耦合。