一个程序员团队正在为新的实用程序类审查提议的 API。经过一番讨论,他们意识到他们可以在不丢失任何功能的情况下减少 API 中的方法数量。如果他们实施新设计,他们将推广哪两个 OO 原则?
A. Looser coupling B. Tighter coupling C. Lower cohesion D. Higher cohesion E. Weaker encapsulation F. Stronger encapsulation
有人可以告诉我答案是什么吗?
我的答案是
更松的耦合和 更高的内聚
如果下一个问题是为什么?那么我建议你阅读这篇文章:
http://blog.sanaulla.info/2008/06/26/cohesion-and-coupling-two-oo-design-principles/
我想说,首先,更强的封装。假设 API 中不再存在的方法之一(即它已被设为私有或已删除)提供了更多“低级”功能,这些功能仍然可以通过剩余的“高级”方法访问。我认为这是你应该假设的。在这种情况下,您已经改进了封装,因为您可以自由更改方法的参数数量和类型、方法的名称及其返回类型,甚至完全删除方法并将其功能折叠到调用者中,而不影响 API 的客户端。
哦,对不起,哪两个?好的,它也会促进更松散的耦合,因为类与其客户之间的耦合点更少,因此以不同方式破坏事物的机会更少。