内聚和耦合是什么意思
内聚性:又称块内联copy系,指模块的功能强度的度量,即一个模块内部各个元素彼此结合的紧密程度的度量。耦合性:也叫耦合度,是对模块间关联程度的度量。耦合的强弱取决与模块间接口的复杂性、调用模块的方式以及通过界面传送数据的多少。
内聚性是对一个模块内部各个组成元素之间相互结合百的紧密程度的度量指度标。模块中组成元素结合的越紧密,模块的内聚性就越高,模块问的独立性也就越高。理想的内聚性要求模块的功能应明确、单一,即一个模块只做一件事情。模块的内聚性和耦合性是两个相互对立且又密答切相关的概念。
什么是高内聚低耦合,请举例子如何实现
百科粘过来的,你看看:
基本解释
高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
高内聚
内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。 所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
低耦合
耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。) 对于低耦合,粗浅的理解是: 一个完整的系统,模块与模块之间,尽可能的使其独立存在。 也就是说,让每个模块,尽可能的独立完成某个特定的子功能。 模块与模块之间的接口,尽量的少而简单。 如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。 这样有利于修改和组合。[1]
软件架构设计的目的简单说就是在保持软件内在联系的前提下,分解软件系统,降低软件系统开发的复杂性,而分解软件系统的基本方法无外乎分层和分割。但是在保持软件内在联系的前提下,如何分层分割系统,分层分割到什么样的粒度,并不是一件容易的事,这方面有各种各样的分解方法,比如:关注点分离,面向方面,面向对象,面向接口,面向服务,依赖注入,以及各种各样的设计原则等,而所有这些方法都基于高内聚,低耦合的原则。 高内聚和低耦合是相互矛盾的,分解粒度越粗的系统耦合性越低,分解粒度越细的系统内聚性越高,过度低耦合的软件系统,软件模块内部不可能高内聚,而过度高内聚的软件模块之间必然是高度依赖的,因此如何兼顾高内聚和低耦合是软件架构师功力的体现。 高内聚,低耦合的系统有什么好处呢?事实上,短期来看,并没有很明显的好处,甚至短期内会影响系统的开发进度,因为高内聚,低耦合的系统对开发设计人员提出了更高的要求。高内聚,低耦合的好处体现在系统持续发展的过程中,高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。[2]
什么是高内聚低耦合?如何做?
1、高内聚意思就是支持主体正常运行的各个模块相对独立,相互之间没啥关联,各司其职。比如一台电脑主机,由机箱,CPU,主板,内存,显卡,电源各种部件组成,大家各做各的事有自己的职责,互不干涉,一起支撑主机的运行。
2、低耦合就是这些部件没有很强的关系,比如我把嫌弃原来的显卡太低端,斥巨资换上了2080ti,并不会导致我的cpu.内存、主板挂掉,大家还是能和谐运行。不过低耦合不是没耦合,比如如果我的主板很垃圾,然后换了个很牛的CPU,主板带不动,电脑可能运行起来会有点问题。
3、低内聚就是模块之间独立性差。比如我开了个小吃店,又要当厨师,又要上菜,又要接客,又要收银,店里就会很乱,忙不过来。但是如果把我分成四份(再招三个人),就会井然有序,一个不干了再找个人顶替上去就好了,不影响其他人。
4、高耦合,以手机为例,假如我现在手机是华为,哪天我换了小米,我买个裸机就行,耳机充电器直接用华为的就好。
但是如果我现在手机是苹果,我要换华为,以前的耳机和充电线就不能用了,只有充电头可能还可以接着用。这就叫高耦合。模块之间关联太强。
望采纳,蟹蟹٩('ω')و
以上就是关于内聚和耦合是什么意思,什么是高内聚低耦合,请举例子如何实现的全部内容,以及内聚和耦合是什么意思的相关内容,希望能够帮到您。
版权声明:本文来自用户投稿,不代表【易百科】立场,本平台所发表的文章、图片属于原权利人所有,因客观原因,或会存在不当使用的情况,非恶意侵犯原权利人相关权益,敬请相关权利人谅解并与我们联系(邮箱:350149276@qq.com)我们将及时处理,共同维护良好的网络创作环境。