可能重复:
What is “loose coupling?” Please provide examples.什么让耦合“松散”,是否更好地编写我的代码松散耦合?
是什么让耦合 “松散”,是它更好地写我的代码松耦合?
**请给我提供一些链接。
可能重复:
What is “loose coupling?” Please provide examples.什么让耦合“松散”,是否更好地编写我的代码松散耦合?
是什么让耦合 “松散”,是它更好地写我的代码松耦合?
**请给我提供一些链接。
在相关问题What is "loose coupling"中有几个例子。
至于你的代码是否应该松散耦合,那取决于它所实现的系统是什么。
例如,Web是松散耦合的 - 任何组件都通过相同的http接口,并且可以将组件和服务提供者的实现切换到图层中的任何位置,从硬件到应用程序。
另一方面,高性能图形卡的驱动程序与其设计的硬件紧密耦合 - 其他任何情况都会导致性能下降。尽管操作系统和驱动程序之间的接口耦合性较差,对于给定的操作系统版本,所有驱动程序都是通用的,而应用程序代码和操作系统之间的接口通常又不再紧密耦合,或许符合长期生存的标准,如OpenGL的。
如果你的代码在这些极端之间适合,将决定什么程度的耦合是合适的。
这是一个相当广泛的话题,你应该看看GRASP patterns。
2类之间的松散耦合意味着每个类对其他类的内部行为知之甚少。你可能在属于同一个“模块”或“包”的类之间有更高程度的“耦合”,这不是一个坏习惯:它使得你的模型比只有低耦合类更容易理解。
通过减少你做出更耦合松散的依赖..
松散耦合是一种软件开发方法,重视制造件互换的重要性。如果两段代码松散耦合,那么对其中一个代码所做的更改对另一个代码只会产生很小的影响。
这里有一些链接..
http://programmingexamples.wikidot.com/glossary:loose-coupling
http://www.artima.com/weblogs/viewpost.jsp?thread=6544
http://c2.com/cgi/wiki?CouplingAndCohesion
松耦合是一种体系结构,它由模块组成。这些模块通过一些接口互相访问(公共方法是可以的,但更多的方式存在)。模块不需要彼此编译(通常),并且可以通过相同的接口轻松更改为另一个模块。