什么使耦合“松散”并且编写松散耦合的代码更好?

可能重复:
什么是“松散耦合?”请提供示例。

什么使耦合“松散”并且编写松散耦合的代码更好?

**请提供一些链接。

相关问题中有一些例子什么是“松散耦合” 。

至于你的代码是否应该松散耦合,这取决于它所实现的系统是什么。

例如,Web是松散耦合的 – 任何组件都通过相同的http接口,您可以在层中的任何位置从硬件切换到应用程序的组件和服务提供者的实现。

另一方面,高性能显卡的驱动程序与其设计的硬件紧密耦合 – 其他任何东西,都会失去性能。 OS与驱动程序之间的接口耦合程度较低,对于给定的OS版本,所有驱动程序都是通用的,而应用程序代码与OS之间的接口通常不再紧密耦合,可能符合长期存在的标准,如OpenGL的。

如果您的代码适合这些极端,那将决定适当的耦合程度。

这是一个非常广泛的话题,你应该开始研究GRASP模式 。

2个类之间的松散耦合意味着每个类对其他类的内部行为知之甚少。 你可能在属于同一个“模块”或“包”的类之间有更高程度的“耦合”,这并不是一个坏习惯:它使你的模型比你只有低耦合类更容易理解。

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

通过减少依赖性,您可以使耦合更松散..

松耦合是一种软件开发方法,它重视制作可互换的部件的重要性。 如果两个代码松散耦合,那么对其中一个代码所做的更改对另一个代码几乎没有影响。


这是一些链接..

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