随着关于松散耦合(有理由)的所有宣传以及我所阅读的所有信息都很容易被所有人所痴迷,以至于变得虔诚于此。我一直在想,什么时候硬耦合比松散耦合更有利?什么时候对象是硬耦合的候选对象?我认为根据情况可以减少一些复杂性。
一些例子将不胜感激。
答案 0 :(得分:1)
有些情况下,紧耦合可能会让你感觉更好。通常与开发速度和程序的复杂性有关。
在短期内,松耦合会增加开发时间。从理论上讲,对于每个服务/客户端对,都需要为其创建额外的接口。硬耦合甚至不担心依赖性。根据我的经验,在学校的许多项目都很小,紧密耦合的课程是可以的。特别是在您转入作业并且永远不必再次触摸它的情况下。
通常松散耦合的系统包含更多组件,这会增加程序的复杂性。对于更大的程序,复杂性绝对值得,因为扩展/修改程序将指数级更容易并导致更少的错误。但是,对于99%不太可能改变的小程序或程序,尝试编程到抽象并删除任何依赖项所花费的额外时间,可能不值得。 Analysis Paralysis更有可能设计一个程序。
作为一个整体,我永远不会建议"紧密耦合"课程更好。然而,随着时间和复杂性的兴趣有时"紧密耦合"课程是合理的。