高内聚,低耦合

低耦合,我给大家举一个例子,公司里面的董事长只会和总经理打交道,董事长的下层接口是总经理,总经理手底下有个副总经理,那么,总经理就和3个副总经理打交道,3个副总每一个人管理一个业务部门,副总经理只和部门经理打交道,部门经理手底下有自己部门的员工,但是部门经理只和团队的队长打交道,团队队长和所有团员打交道

这样一个非常分明的层次关系,不会让董事长来交叉管理团员,也不会让总经理来管部门经理

如果交叉在一起,就是强耦合

解耦的思想是让每一个角色,只依赖他的下层接口,让各个角色尽量保持独立,他们之间完全隔离,这个思想叫做去除耦合

这是分层思想,和mvc有区别

低耦合有什么好处呢?万一有一个副总经理辞职了,那么,他影响的范围非常小,他只会影响到总经理和部门经理这两个上下接口层次,而对于董事长,和团员之间,是透明的,根本感觉不到有一个人辞职了,因为董事长的下层接口是总经理,他根本就看不见副总经理


高内聚这个也很简单,就是道不同不相为谋,放在一起的,一定是大家紧密合作的,齐心一直的,如果有一个人很游离,我们想办法让他出去,那么一个类就可能分化成两个类.好比说,现在有一个汽车类,里面有方向盘属性,有论坛属性,有座椅属性,有发动机属性,轮胎,你们发现了没有,座椅和发动机有关系吗?对,那么我们就不能把所有东西都放在汽车类,而是有单独的方向盘类,单独的座椅类,单独的发动机类,但是方向盘和发动机之间可能会有某种联系,那么,他们之间可以为对方保持接口互动,但是座椅类是完全没有联系的,他是独立不用和其他地方交互的,这个分割过程可以继续持续下去,方向盘里面也许也会有很多类,直到你觉得可以不用分为止.

分割的标准是:直到分到很小的类对象单元,问题已经可以很轻松的解决了,已经到了可以很难容易控制的阶段,就可以停止分割了.
我们做任何事情,任何设计的目的只有一个就是让软件开发变得更轻松,更灵活,更好理解

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值