2011-04-21 55 views

回答

1

在相關問題What is "loose coupling"中有幾個例子。

至於你的代碼是否應該鬆散耦合,那取決於它所實現的系統是什麼。

例如,Web是鬆散耦合的 - 任何組件都通過相同的http接口,並且可以將組件和服務提供者的實現切換到圖層中的任何位置,從硬件到應用程序。

另一方面,高性能圖形卡的驅動程序與其設計的硬件緊密耦合 - 其他任何情況都會導致性能下降。儘管操作系統和驅動程序之間的接口耦合性較差,對於給定的操作系統版本,所有驅動程序都是通用的,而應用程序代碼和操作系統之間的接口通常又不再緊密耦合,或許符合長期生存的標準,如OpenGL的。

如果你的代碼在這些極端之間適合,將決定什麼程度的耦合是合適的。

3

這是一個相當廣泛的話題,你應該看看GRASP patterns

2類之間的鬆散耦合意味着每個類對其他類的內部行爲知之甚少。你可能在屬於同一個「模塊」或「包」的類之間有更高程度的「耦合」,這不是一個壞習慣:它使得你的模型比只有低耦合類更容易理解。

1

通過減少你做出更耦合鬆散的依賴..

鬆散耦合是一種軟件開發方法,重視製造件互換的重要性。如果兩段代碼鬆散耦合,那麼對其中一個代碼所做的更改對另一個代碼只會產生很小的影響。


這裏有一些鏈接..

http://programmingexamples.wikidot.com/glossary:loose-coupling

http://www.artima.com/weblogs/viewpost.jsp?thread=6544

http://c2.com/cgi/wiki?CouplingAndCohesion

http://earthli.com/news/view_article.php?id=2507

http://www.codeproject.com/KB/cs/DynamicInvoking.aspx

2

鬆耦合是一種體系結構,它由模塊組成。這些模塊通過一些接口互相訪問(公共方法是可以的,但更多的方式存在)。模塊不需要彼此編譯(通常),並且可以通過相同的接口輕鬆更改爲另一個模塊。