在面向对象范式中,有人能准确地描述松耦合和紧耦合之间的区别吗?


当前回答

松耦合意味着两个组件之间的依赖程度非常低。 示例:GSM SIM卡

紧密耦合意味着两个组件之间的依赖程度非常高。 例如:CDMA移动通信

其他回答

有一些工具通过它们的库提供依赖注入,例如在。net中我们有ninject库。

如果在java中更进一步,那么spring提供了这种功能。

松散耦合的对象可以通过在代码中引入接口来实现,这就是这些源代码所做的。

在你正在编写的代码中

Myclass m = new Myclass();

现在你的方法中的这个语句说你依赖于myclass这被称为紧耦合。现在你提供了一些构造函数注入,或者属性注入实例化对象,然后它就会变得松散耦合。

我的理解是,与松散耦合的体系结构相比,紧密耦合的体系结构并没有为更改提供很多灵活性。

但是对于松散耦合的体系结构,消息格式或操作平台或修改业务逻辑不会影响另一端。如果系统因改造而关闭,当然另一端在一段时间内不能访问服务,但除此之外,未更改的一端可以恢复消息交换,就像改造之前一样。

当两个对象松散耦合时,它们可以相互作用,但知之甚少 对方。

松散耦合设计允许我们构建能够处理变更的灵活的OO系统。

观察者设计模式是一个让类松散耦合的好例子,你可以在维基百科上看到它。

松耦合是老式硬编码依赖关系和相关问题的答案,比如当任何事情发生变化时频繁重新编译和代码重用。它强调在组件中实现工作者逻辑,避免解决方案特定的连接代码。

松耦合= IoC 请看下面的解释。

这是关于类对其他类的依赖率,在松散耦合时很低,而在紧密耦合时很高。在面向服务的体系结构中,服务之间是松散耦合的,不同的类之间的依赖是有意的