代碼質量怎麼樣Sonar度量工具確實提供了向下鑽取到一類,並找出的數量的能力:傳入耦合和傳出耦合之間的區別是什麼?
- 傳入(進入)聯軸器
- 傳出(外出)聯軸器
這兩個參數是什麼?你能用一個簡單的人爲的例子來描述嗎?
代碼質量怎麼樣Sonar度量工具確實提供了向下鑽取到一類,並找出的數量的能力:傳入耦合和傳出耦合之間的區別是什麼?
這兩個參數是什麼?你能用一個簡單的人爲的例子來描述嗎?
根據wikipedia:
傳入聯軸器(Ca)的:在該封裝內取決於類其它包中的類的數量是在封裝的責任的指標。傳入=傳入。
傳出耦合(Ce):包中的類依賴於其他包中的類的數量是包對外部性依賴性的指示。 Efferent =傳出。
所以,如果你有以下結構類(或包或其他):
class Foo {
Quux q;
}
class Bar {
Quux q;
}
class Quux {
// ...
}
然後Foo
和Bar
各有一個傳出耦合,Quux
有兩個傳入聯軸器。
既然你提到聲納,這裏是their documentation page
會對象組成意味傳出耦合呢? – user20358 2014-02-17 10:43:06
耦合是一種依賴性的度量。
傳入耦合:
傳出耦合:
是傳入耦合一個更好的單一責任原則正在實踐的指標? – user20358 2017-04-22 19:50:38
@ user20358 - 我不是最好的建築師,但我認爲這不是很明顯。一個傳入耦合過多的類可能會被使用太多,因爲它太多了。或者它可能只是處理某種橫切關注 - 日誌記錄,ORM工作單元,類似的事情。 – millimoose 2017-04-23 12:58:02