高内聚低耦合的理解

应届程序员,几年的辩证唯物主义哲学爱好者谈谈对高内聚、低耦合的理解。

理解一个事物,需要从两个方面去理解。

一个是“世界观”,一个是“价值观”。

世界观,即某个事物包含了什么客观规律;价值观,即事物对人有什么价值。

先谈价值观,对于万事万物,它们有一些普通而又特殊的属性。普通在于从科学的角度,它们是必然、的固有的,从这个角度它们是一样的。而有一个特殊的属性,那就是“生存属性”。世界万物是发展变化的,从低级到高级(社会形态、科学技术等),从不稳定到稳定(物质形态)。世界万物的发展是有一定方向的,事物具有的一些普通而又特殊的属性让其存在下来。

对于软件系统,这种属性就是,满足人类的需求,让其能“存在下来”的属性。那就是人类对软件系统的需求,功能强大、易于扩展(修改容易)、帮助减少劳动。

“世界观”方面,低内聚、高耦合是客观在很多方面能满足人类对软件的上述需求的。

高内聚:系统的架构的完整尽可能少的依赖外部资源。

目的:单个系统的维护、运行等尽可能低的影响、依赖于外部其它系统。

 

低耦合:系统内部各个模块间的依赖关系尽可能的低。

目的:各个模块的维护的影响的范围小,整个系统的灵活性提高(系统的改变,即各个模块的增、删、改容易),降低系统的维护成本,能尽可能的提高系统的多功能性。

原因:系统变更成本低,具备实现多功能的条件。

 

简单来说就是能满足人类的“贪”、“懒”的需求,又满足客观规律。

 

举个mybatis等数据库操作封装的技术的例子。

 

原始的方式,SQL语句模块(或者说系统)对于其它部分的依赖很大,具体业务决定了它的结构,换个业务它就得改变结构,不再可用。

简单来说就是,对于整个系统,SQL语句模块和业务模块两个内部子模块依赖度过高,不满足系统内部子模块的低耦合。

对于SQL语句模块来说,他不是高内聚的,它的架构依赖于外部的业务逻辑。

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值