gpt4 book ai didi

c# - 策略模式与依赖注入(inject)

转载 作者:可可西里 更新时间:2023-11-01 08:15:00 28 4
gpt4 key购买 nike

策略模式与依赖注入(inject)有何不同?

即下面是您可以使用策略模式执行的操作:

class Foo{
private readonly ISortAlgo _sortAlgo;

public Foo(ISortAlgo sortAlgo)
{
_sortAlgo = sortAlgo;
}

public void Sort()
{
_sortAlgo.sort();
}

}

使用 DI 你可以做同样的事情,本质上你可以有构造函数、setter、接口(interface)等注入(inject)。它会产生与策略模式相同的效果。我知道 DI 也是一套其他原则,例如松散耦合、可测试性、布线等。

在实现方面,我看不出有什么不同。

策略模式和 DI 有什么区别?

最佳答案

首先,依赖注入(inject)不仅有构造函数注入(inject)作为注入(inject)方法,还有属性方法注入(inject)环境背景

其次,策略定义了行为,因此客户可以选择符合他需要的特殊策略。而依赖注入(inject)与外部依赖的抽象一起工作。

关于c# - 策略模式与依赖注入(inject),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11850606/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com