2011-04-21 63 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

松耦合是一种体系结构,它由模块组成。这些模块通过一些接口互相访问(公共方法是可以的,但更多的方式存在)。模块不需要彼此编译(通常),并且可以通过相同的接口轻松更改为另一个模块。