4

当我在做 TDD 时,它迫使我采用依赖注入原则,我最终得到了松散耦合的代码。

有人告诉我,很难理解具有松散耦合代码的应用程序。

你能告诉我松散耦合代码的优缺点吗?

4

6 回答 6

7

最大的优点是对一个模块进行更改不会以不可预知的方式破坏其他模块。

于 2009-05-27T13:36:57.330 回答
4

依赖注入不会自动导致低耦合。我同意上面关于低耦合优点的答案。依赖注入的主要好处是它提高了可测试性,并帮助您遵循程序到接口而不是实现的 GoF 原则。但是您也可以与注入的依赖项高度耦合。

于 2009-05-27T13:43:45.960 回答
3

另一个好处是,当您拥有多个实现时,能够更轻松地替换组件。

想象一下,您有一个购物车系统,它通常存储和读取数据库,这是默认设置。但是您可以注入以便它使用后端,这不是那么好,但是当您没有数据库时它可以工作。

于 2009-05-27T13:34:32.123 回答
2

因为它是松耦合的,所以它是高度可变的。这就是重点。如果您不需要,松散耦合可能会引入许多间接性,从而导致系统具有更多“深度”:您需要向下看一个级别才能看到发生的所有事情。

于 2009-05-27T13:36:12.527 回答
1

就像您说的那样,松散耦合代码的缺点是增加了复杂性,并且难以理解。当代码松散耦合时,通常不会立即看出代码的作用。

就像其他人所说的那样:好处是当代码/模块/对象/组件不相互依赖时,交换其他部分要容易得多。

与所有 OO 设计一样,您必须做出权衡 - 拥有易于换入和换出的高度模块化代码对您来说更重要吗?还是拥有更简单的易于理解的代码更重要?你必须做出决定。

于 2009-05-27T13:41:27.680 回答
0

可重用、可扩展性和副作用的减少。

于 2009-05-27T13:42:32.293 回答