什么时候我们应该更喜欢硬耦合而不是松耦合?

When should we prefer hard coupling over loose coupling?

随着所有关于松散耦合(有理由)的炒作和我阅读的所有信息,很容易让所有人着迷,以至于对它变得虔诚。我一直在想,什么时候硬耦合比松耦合更受欢迎?什么时候对象是硬耦合的候选对象?我认为根据情况它可以降低一些复杂性。

一些示例将不胜感激。

hard/tight耦合的优点

在某些情况下,紧密耦合可能会让您过得更好。通常与程序的开发速度和复杂性有关。

非常小的 Projects/Proof 个概念

短期内,松耦合会增加开发时间。理论上,对于每个 Service/Client 对,还需要为其创建一个额外的接口。硬耦合甚至不会担心依赖性。根据我的经验,学校里的许多项目都足够小,可以紧密耦合 类。尤其是在您上交作业后再也不用碰它的情况下。

让事情变得简单

松散耦合的系统通常包含更多组件,这会增加程序的复杂性。对于更大的程序,复杂性绝对是值得的,因为 expanding/modifying 程序会成倍地简单并且导致更少的错误。然而,对于小程序或 99% 不可能更改的程序,花费额外的时间尝试编程抽象和删除任何依赖性可能不值得。 Analysis Paralysis更有可能设计程序。

结束语

总的来说,我永远不会建议“紧密耦合”类 更好。但是,考虑到时间和复杂性,有时“更紧密的耦合”类 是合理的。