答案 0 :(得分:7)
最大的优点是,对一个模块进行更改不会以不可预测的方式破坏其他模块。
答案 1 :(得分:4)
依赖注入不会自动导致低耦合。我同意上面关于低耦合的优点的答案。依赖注入的主要好处是它提高了可测试性,它可以帮助您遵循程序到接口的GoF原则,而不是实现。但是你也可以对注入的依赖关系进行高耦合。
答案 2 :(得分:3)
另一个好处是,当您有多个实现时,可以更轻松地替换组件。
想象一下,你有一个购物车系统,它通常存储和读取数据库,这是默认的。但是你可以注入它以便它使用后端,这不是很好但是当你没有数据库时它可以工作。
答案 3 :(得分:2)
由于松散耦合,它的变化很大。这就是重点。如果您不需要,松散耦合可能会引入许多间接性,从而导致系统具有更多“深度”:您需要向下看一个级别才能看到发生的一切。
答案 4 :(得分:1)
就像你说的那样,松散耦合代码的缺点是增加了复杂性,而且很难理解。通常不会立即明白代码在松散耦合时的作用。
正如其他人所说的那样:好处是当片段彼此不依赖时,交换其他代码/模块/对象/组件会更容易。
与所有OO设计一样,您需要做出权衡 - 拥有高度模块化的代码更容易进出交换更重要吗?或者更容易理解易于理解的代码更重要?你必须决定。
答案 5 :(得分:0)
重复使用,可扩展性和减少副作用。