2013-03-07 303 views

回答

17

根据wikipedia

传入联轴器(Ca)的:在该封装内取决于类其它包中的类的数量是在封装的责任的指标。传入=传入。

传出耦合(Ce):包中的类依赖于其他包中的类的数量是包对外部性依赖性的指示。 Efferent =传出。

所以,如果你有以下结构类(或包或其他):

class Foo { 
    Quux q; 
} 

class Bar { 
    Quux q; 
} 

class Quux { 
    // ... 
} 

然后FooBar各有一个传出耦合,Quux有两个传入联轴器。

+0

是传入耦合一个更好的单一责任原则正在实践的指标? – user20358 2017-04-22 19:50:38

+0

@ user20358 - 我不是最好的建筑师,但我认为这不是很明显。一个传入耦合过多的类可能会被使用太多,因为它太多了。或者它可能只是处理某种横切关注 - 日志记录,ORM工作单元,类似的事情。 – millimoose 2017-04-23 12:58:02

9

既然你提到声纳,这里是their documentation page

  • 传入接头提供的定义:A类传入耦合是 许多其他类如何使用特定类的措施。
  • 传出耦合:类传出耦合是特定类如何使用许多不同类的度量。
+1

会对象组成意味传出耦合呢? – user20358 2014-02-17 10:43:06

0

耦合是一种依赖性的度量。

传入耦合:

  • 谁要看你
  • 衡量多少其他包使用特定包。
  • 传入依赖关系。

传出耦合:

  • 你是谁取决于
  • 衡量特定软件包使用了多少个不同的软件包。
  • 传出依赖关系。