谈高内聚与松耦合,各人自扫门前雪,莫管他人瓦上霜

 

   阅读本文时,请注意软件术语均在括号内用红色标注

       高内聚与松耦合,通俗的说就是我国的一句古话:各人自扫门前雪,莫管他人瓦上霜。

       我来解释一下,假设你是“面向对象”(面向对象oop)小区的一个居民你的名字叫做“类”(类),你不仅可以把自己门前雪扫干净,还可以帮别人家把雪扫干净。

       其一,你会不会觉得自己的活干的有点多(这时你就成了传说中的“上帝对象”,一个类把活全干了)。

       其二,如果你要帮助别人家扫雪,要和各家各户协商,最后要合理分配扫雪时间,安排顺序,遇到突发问题时说不定你还要处理夫妻的感情纠纷呢,我相信你会遇到各式各样的问题。原本都与扫雪工作本身无关的工作被引入进来(类的工作很多,并且互不相关,这叫低内聚)。

      其三,如果有人搬出了小区(类的删除),或者又有人搬进了小区(类的增加),再或者有人改造了自己院子(类改变)。这些改变(软件需求的变更)你无法预期,那只能动态的适应,现在事情更复杂了。(任何一个类的变化都会影响到你,真是改来改去呀)。

      其四,如果你想修改下关于扫雪的一些事宜,全小区的居民都要跟你重新协商扫雪事宜,说不定那户居民就跟你闹矛盾呢。(你的修改导致很多类同样需要修改,bug也随之而生)。

      其五,如果你有一天生病了,可能是干活太累了(一个类庞大且复杂难免不出现问题),那其他人怎么办呢?平时都是你负责的,你走了没人负责。你一生病全小区的雪都没人扫了,小区彻底瘫痪了。

      想到了吗?这就是低内聚和紧耦合的弊病呀!

      那么如果是高内聚,低耦合呢,不就是每个人各司其职,每个人都是自己能做的事情自己做,谁也不需要谁的帮助(减少互相依赖,松耦合),安下心来把自己事情安排合理(整合任务,高内聚)。

总之一句话,各人自扫门前雪,莫管他人瓦上霜

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值