ios - 保持松散耦合,灵活性标准与规模、可见性两个标准冲突时如何取舍?
巴扎黑
巴扎黑 2017-04-18 09:37:19
[iOS讨论组]

在看《代码大全2》的 5.3 节时,提到了 3 个衡量模块间的耦合度的标准,即规模(模块之间的连接数)、可见性(两个模块之间的连接的显著程度)、灵活性(模块之间的连接是否容易改动)。然后在灵活性部分举的例子?:

假设有一段子程序 LookupVacationBenefit() ,通过输入雇佣日期和工作级别来查询员工的休假数量。假设另一个模块已有一个包含了雇用日期和工作级别的 employee 对象,将这种对象传给 LookupVacationBenefit() 。

按照规模和灵活性标准,这两个模块之间的耦合关系是很松散的。但是如果有第三个模块也需要使用 LookupVacationBenefit() ,这一模块没有 employee 对象,却包含了雇佣日期和工作级别。这样它就必须拼凑一个 employee 对象来和 LookupVacationBenefit() 协同工作。

最后给出的解决方案是修改 LookupVacationBenefit() ,使它以雇佣日期和工作级别作为参数。

这个例子中是用灵活性替代了规模和可见性。那么在实际的编程过程中,该如何取舍呢?

巴扎黑
巴扎黑

全部回复(0)
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号