永发信息网

高内聚、低耦合的含义是什么?如何提高代码的可重用性?

答案:2  悬赏:30  手机版
解决时间 2021-11-10 08:17
高内聚、低耦合的含义是什么?如何提高代码的可重用性?
最佳答案
高内聚它描述的是模块内的功能联系; 
耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。
耦合性也称块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差。模块间耦合高低取决于模块间接口的复杂性、调用的方式及传递的信息。
全部回答
百科粘过来的,你看看:
基本解释
  高内聚低耦合,是软件工程中的概念,是判断设计好坏的标准,主要是面向对象的设计,主要是看类的内聚性是否高,耦合度是否低。
高内聚
  内聚就是一个模块内各个元素彼此结合的紧密程度,高内聚就是一个模块内各个元素彼此结合的紧密程度高。   所谓高内聚是指一个软件模块是由相关性很强的代码组成,只负责一项任务,也就是常说的单一责任原则。
低耦合
  耦合:一个软件结构内不同模块之间互连程度的度量(耦合性也叫块间联系。指软件系统结构中各模块间相互联系紧密程度的一种度量。模块之间联系越紧密,其耦合性就越强,模块的独立性则越差,模块间耦合的高低取决于模块间接口的复杂性,调用的方式以及传递的信息。) 对于低耦合,粗浅的理解是:   一个完整的系统,模块与模块之间,尽可能的使其独立存在。   也就是说,让每个模块,尽可能的独立完成某个特定的子功能。   模块与模块之间的接口,尽量的少而简单。   如果某两个模块间的关系比较复杂的话,最好首先考虑进一步的模块划分。   这样有利于修改和组合。[1]
编辑本段为什么要追求高内聚和低耦合
  软件架构设计的目的简单说就是在保持软件内在联系的前提下,分解软件系统,降低软件系统开发的复杂性,而分解软件系统的基本方法无外乎分层和分割。但是在保持软件内在联系的前提下,如何分层分割系统,分层分割到什么样的粒度,并不是一件容易的事,这方面有各种各样的分解方法,比如:关注点分离,面向方面,面向对象,面向接口,面向服务,依赖注入,以及各种各样的设计原则等,而所有这些方法都基于高内聚,低耦合的原则。 高内聚和低耦合是相互矛盾的,分解粒度越粗的系统耦合性越低,分解粒度越细的系统内聚性越高,过度低耦合的软件系统,软件模块内部不可能高内聚,而过度高内聚的软件模块之间必然是高度依赖的,因此如何兼顾高内聚和低耦合是软件架构师功力的体现。   高内聚,低耦合的系统有什么好处呢?事实上,短期来看,并没有很明显的好处,甚至短期内会影响系统的开发进度,因为高内聚,低耦合的系统对开发设计人员提出了更高的要求。高内聚,低耦合的好处体现在系统持续发展的过程中,高内聚,低耦合的系统具有更好的重用性,维护性,扩展性,可以更高效的完成系统的维护开发,持续的支持业务的发展,而不会成为业务发展的障碍。[2]
我要举报
如以上问答信息为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
每个人都是天才文章讲述几个故事,有什么共同
击掌英文怎么打
relief是什么意思
水果有果语吗?
前两个月在微博上买了一个dw的手机,199是货
甘肃兴新汽车服务有限公司地址在什么地方,想
关于赖茅1915的问题
fc封神榜第九狱过了怎么出不去?
急救!!! SOS
我想在广东开一家薛记炒货店能行吗,但是要在
安达市四平山镇怎么走,
比亚迪S62.0手豪,加装导航,倒车影像,右侧
联通光纤3根线组成为什么剪断一根在外面那是
g316在重庆那个广场坐
AE 怎么样链接两个图层 使他们同时移动 ?
推荐资讯
什么是小分子团水,小分子团水有那些品牌
怎么excel 统计占80%以上的数
7387与7388功放块哪个好
犬舍家庭繁殖狗场,为什么生存下来的大多只有
人跟狗发生性行为会怎样
孙尚宫的炸鸡好吃吗
渐江省台州干洛国镇属于环那个县或那个区
哪个傻缺说老大的miui8不能用电信卡的
芷溪中心小学地址好找么,我有些事要过去,
桃仁怎么吃
美国亚特兰大至加州的航行时间?
我娃儿小学四年级,成绩不错,想补奥数,哪儿
正方形一边上任一点到这个正方形两条对角线的
阴历怎么看 ?