“耦合”仅与代码相关,还是可以将该术语应用于软件组件和体系结构?

时间:2011-07-22 18:56:11

标签: separation-of-concerns decoupling coupling

例如,在讨论构建或部署过程时,确保它独立于IDE。这是“耦合”,还是被认为是分离关注,还是完全不同的东西?一般概念是将最少数量的变量引入过程或体系结构中,以便在发生故障时,识别可能的故障点的难度显着降低。那还有另一个定义吗?

2 个答案:

答案 0 :(得分:0)

完全不同的东西。

耦合是代码。

独立工具只是独立的工具。

微软让我相信独立工具是个坏主意。他们告诉我,一个供应商的集成工具套件是一件好事。

答案 1 :(得分:0)

我将耦合描述为与运行时系统稳定性或系统变化相关的东西。

当考虑稳定性时,如果一个组件的故障导致其他组件发生故障,则会出现耦合现象。例如,如果两个软件组件直接通过TCP连接进行通信,则一个组件的故障意味着另一个组件无法正常工作。整个系统都崩溃了。如果我通过允许两个组件通过消息队列(例如)进行通信来解耦,那么每个组件可以在没有另一个组件的情况下继续独立工作(假设这在应用程序中有意义)。

当考虑系统更改时,当一个模块中的代码更改意味着我必须去更改大量其他模块中的代码时,耦合会出现在图片中。

您使用构建/部署工具提供的示例是一种耦合形式,但并不是人们在考虑运行时和代码耦合等架构问题时的想法。