我是策略设计模式的新手,我试图了解如何创建通用策略设计模式并注册依赖注入。我正在使用 C# 和 .NET 6.0
示例 - 策略界面:
public interface IStrategy<TSource, TResult> where TSource : CustomRequest
{
public TResult Calculate(TSource request)
}
来自高水平的具体课程
public class A : IStrategy<ClassX, ClassY>
{
... // implementation
}
public class B : IStrategy<ClassZ, ClassT>
{
... // implementation
}
从这里开始,我陷入困境,需要一些关于如何将其缝合起来的指导。
我假设我需要一个上下文类,它将根据传入的内容来获取策略的正确具体实现
<TSource, TResult>
?
请您帮我提供一个上下文类+注册依赖注入+如何在调用类中调用上下文的示例。谢谢你:)
Services.AddSingleton<A, IStrategy<TypeA, TypeB>>();
Services.AddSingleton<B, IStrategy<TypeC, TypeD>>();