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

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

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

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

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

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

巴扎黑
巴扎黑

Antworte allen (0)
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!