.Net 6.0 具有依赖注入的通用策略设计模式

问题描述 投票:0回答:1

我是策略设计模式的新手,我试图了解如何创建通用策略设计模式和注册依赖注入。我正在使用 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
}

从这里开始,我陷入困境,需要一些关于如何将其全部缝合的指导。

我假设我需要一个 Context 类,它将根据传入的内容来选择策略的正确具体实现

<TSource, TResult>
?请您帮我提供一个上下文类的示例+注册到依赖注入+如何在调用类中调用上下文。谢谢你:)

c# design-patterns .net-6.0 strategy-pattern
1个回答
0
投票
Services.AddSingleton<A, IStrategy<TypeA, TypeB>>();
Services.AddSingleton<B, IStrategy<TypeC, TypeD>>();
© www.soinside.com 2019 - 2024. All rights reserved.