设计模式 – 战略模式和依赖注入有什么区别?

前端之家收集整理的这篇文章主要介绍了设计模式 – 战略模式和依赖注入有什么区别?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
策略模式和依赖注入都允许我们在运行时设置/注入对象。策略模式和依赖注入有什么区别?
DI和策略以相同的方式工作,但是策略用于更细粒度和短暂的依赖。

当对象配置有“固定”策略时,例如当对象被构造时,Strategy和DI之间的区别模糊。但在DI情况下,更常见的是对象的依赖性在其生命周期中改变,而这在战略中并不少见。

此外,您可以将策略作为参数传递给方法,而方法参数注入的相关概念并不广泛,并且大多仅在自动测试的上下文中使用。

策略侧重于意图,并鼓励您创建一个具有遵守相同行为契约的不同实现的接口。 DI更多的是只是有一些行为的实现并提供它。

使用DI,您可以分解您的程序的其他原因,而不仅仅是为了交换部分实现。在DI中使用的仅具有一个实现的接口是非常常见的。 “战略”只有一个具体的实施(永远)不是一个真正的问题,但可能更接近DI。

猜你在找的设计模式相关文章