关于设计的scjp问题

时间:2011-04-12 12:14:40

标签: java scjp oop

一个程序员团队正在审查一个新的实用程序类的API。过了一些 讨论时,他们意识到他们可以减少API中的方法数量 失去任何功能。如果他们实施新设计,那两个OO原则将会如何 他们在推广?

A. Looser coupling
B. Tighter coupling
C. Lower cohesion
D. Higher cohesion
E. Weaker encapsulation
F. Stronger encapsulation

有人可以告诉我答案是什么吗?

2 个答案:

答案 0 :(得分:3)

我的回答是

松散耦合更高的凝聚力

如果下一个问题是为什么?然后我建议你阅读这篇文章:

http://blog.sanaulla.info/2008/06/26/cohesion-and-coupling-two-oo-design-principles/

答案 1 :(得分:1)

我想说,首先是更强的封装。假设其中一个不再存在于API中的方法(即它已被私有或删除)提供了更多“低级”功能,仍可通过剩余的“更高级别”方法访问。我认为这就是你应该假设的。在这种情况下,您已经改进了封装,因为您可以自由地更改方法的参数的数量和类型,方法的名称及其返回类型,甚至可以完全删除方法并将其功能折叠到其调用方中,不影响API的客户。

哦对不起,两个?好的,它还会促进更松散的耦合,因为类和它的客户之间的耦合点更少,因此以不同的方式破坏事物的机会更少。