前面的话:
上一篇文章介绍了耦合和内聚的基本概念,本文将介绍一些简单的常用的解除耦合的操作!
属性的解耦
在日常的开发中,为了快速完成功能,我们常常会直接访问其他模块的成员变量,虽然很方便了完成了此次工作,但可能留下不少后患:
一、产生了内容耦合,这是耦合中耦合度最高的一类;
二、外部模块可直接读取修改本模块成员变量,成员变量的改动,对本模块必定产生影响,遇到问题,很难查找原因(当作为库提供给外部使用时将更加困难);
三、无法控制成员变量写入权限;
正确方式:
一、尽量避免使用public成员变量,尽量使用private成员变量;
二、成员变量通过set;get;方法获取,这样可以优先控制其他模块访问权限,同时还可以添加数据健壮性检测、数据保护及追踪等机制,更安全、更易差错。
函数的解耦
正确的习惯应该为:
一、想办法尽可能使用数据耦合的方式,(及函数的参数仅为简单的变量),且函数内部不访问任何成员变量,函数的结果只和输入参数有关,耦合度极地,很容易查错;
二、如果存在控制耦合,要尽量把控制标记放在顶层函数里,避免传递造成耦合加深,有控制耦合的函数,要做好简化,一定要将每种处理逻辑单独封装,为每一种情况提供单独的函数处理,使其更清晰,减少犯错几率;
三、如果一个函数的内部访问到的都是另一个类中的数据,那么它应该挪到另一个类中;
四、对函数做好分类整理,#region可以帮助你更快的找到你想要的函数;
五、函数开发要尽量使用功能内聚和顺序内聚,避免耦合内聚;
未完待续...
持续更新...
上一篇:关于解耦的研究(一)之概念梳理
下一篇:关于解耦的研究(三)设计模式与解耦
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。