高内聚低耦合

高内聚低耦合,是软件工程中的概念,是判断软件设计好坏的标准,主要用于程序的面向对象的设计,主要看类的内聚性是否高,耦合度是否低。目的是使程序模块的可重用性、移植性大大增强。通常程序结构中各模块的内聚程度越高,模块间的耦合程度就越低。内聚是从功能角度来度量模块内的联系,一个好的内聚模块应当恰好做一件事,它描述的是模块内的功能联系;耦合是软件结构中各模块之间相互连接的一种度量,耦合强弱取决于模块间接口的复杂程度、进入或访问一个模块的点以及通过接口的数据。

自己的理解:

  • 耦合: 模块与模块之间的联系。

  • 内聚:一般指(东西聚集在一起)形成一个模块,例如方法,变量,对象,或者是功能模块。

  • 高内聚:尽可能的让一个模块内部的代码相关程度高,相互联系的紧密。模块内部的代码,相互之间的联系越强,内聚就越高, 模块的独立性就越好。 一个模块应该尽量去独立的完成一个功能!如果必须写另外的功能,建议拆分成多个模块,低内聚的代码,不好维护,代码也不够健壮。

  • 低耦合:尽可能的将每一个功能通过模块单独写出去 ,然后通过指定的接口来相互联系,模块与模块之间的关系越是紧密,独立性就越不好,改变一个模块可能会影响其他的模块。

    小故事:

  • 有一天,我和几名同事带着各自家人出去旅游。当然,我和我的同事们很熟悉,但都不认识彼此家人。旅游要好几天。因为人多,所以需要分成若干小团体(模块),每个团体给一个对讲机相互联系。这该怎么安排呢?主流的方案是:按家庭分成几个小团队,自家人管自家人;题主和同事担任接口人。这个方案有什么好处呢?

  • 1、高内聚,自家人在一起,家庭内部财务自理,节约管理成本;酒店房间可以让夫妻和小孩住一间,节省出行费用。你媳妇儿要给孩子喂奶,抱起来尽管喂,用不着请示你同事

  • 2、低耦合,只有涉及你们几个家庭之间的事务才需要你们几个接口人接头。省心,高效。嗯,你看,自由自在又能彼此帮忙,因此大家都很愉快。

这里有俩张图片

低内聚,高耦合
在这里插入图片描述
高内聚低耦合
在这里插入图片描述

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值