Java 通过立面模式减少耦合和内聚

Java 通过立面模式减少耦合和内聚,java,coupling,facade,cohesion,Java,Coupling,Facade,Cohesion,对于我的软件设计类,我必须找出是否可以通过使用Facade模式同时减少耦合和内聚 大家可能都知道,当耦合度较低时,类的内聚度较高,反之亦然 对我来说,这是一个矛盾的状态,但我仍然认为这是可能的,但找不到足够的证据来支持这一点 我的答案是这样的。原因是,如果我们给内聚类一些指令,如果没有指令,它们就不会以相同的方式运行。考虑到这一点,假设我们拥有与指令相同的外观,这些指令能够从具有低耦合或高耦合的类接收属性。如果这是真的,类之间就不会如此依赖,耦合也会减少。这样一来,我们就有了一个门面,同时减少了

对于我的软件设计类,我必须找出是否可以通过使用Facade模式同时减少耦合和内聚

大家可能都知道,当耦合度较低时,类的内聚度较高,反之亦然

对我来说,这是一个矛盾的状态,但我仍然认为这是可能的,但找不到足够的证据来支持这一点


我的答案是这样的。原因是,如果我们给内聚类一些指令,如果没有指令,它们就不会以相同的方式运行。考虑到这一点,假设我们拥有与指令相同的外观,这些指令能够从具有低耦合或高耦合的类接收属性。如果这是真的,类之间就不会如此依赖,耦合也会减少。这样一来,我们就有了一个门面,同时减少了类的耦合和内聚。

你为什么要减少内聚?是的,同意@warrord:你想增加内聚和减少耦合。我认为这可能更像是一个学术性的假设?,我同意没有必要降低凝聚力,但@christopher所说的更多的是一种学术假设。问题实际上是“我是否同意Facade模式在降低内聚性的同时降低耦合性的说法”;当然,这样一来,翻译的新职责会降低类的凝聚力,因为并非所有内容都与翻译相关(其余内容与类所做的任何事情,无论其业务功能是什么相关)。