高内聚、低耦合的理解

---------------------------------------------
-- 时间:2019-03-06
-- 创建人:Ruo_Xiao
-- 邮箱:xclsoftware@163.com
---------------------------------------------

1、高内聚:将功能相关的部分尽量整合在一块,使其聚合。

2、低耦合:将功能不相关的模块尽量分开,降低之间的依赖。

        低耦合的一个法则就是迪米特法则又叫最少知道原则,其内容为一个类对自己所依赖的类知道的越少越好。

        栗子:我所依赖的类可能有1000个功能,但是我实际只用其3个功能,按照其原则,按照低耦合的宗旨,我对这个所依赖的类知道的越少,我俩的耦合性不就越低了么。所以,根据我和我所依赖的类之间逻辑关系,将该关系封装成接口,我只需要调用我所依赖的类的接口即可,这样就达到了低耦合的目的,这也是该原则的精髓所在。

        关于低耦合,下面是我见到的最通俗易懂的栗子,和大家分享一下:

        公司里面的董事长只会和总经理打交道,董事长的下层接口是总经理,总经理手底下3个副总经理,那么,总经理就和3个副总经理打交道。3个副总每一个人管理一个业务部门,副总经理只和部门经理打交道,部门经理手底下有自己部门的员工,但是部门经理只和团队的队长打交道,团队队长和所有团员打交道。这样一个非常分明的层次关系,不会让董事长来交叉管理团员,也不会让总经理来管部门经理。
        如果交叉在一起,就是强耦合

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

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

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

        总的来说,做软件设计最终的目的是让软件开发更轻松、更灵活(功能可减可增)、更好理解(脉络清晰、快速定位bug)。

 

参考链接:https://blog.csdn.net/jia970426/article/details/79734490

 

(SAW:Game Over!)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值