.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
}

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

我假设我需要一个上下文类,它将根据传入的内容来获取策略的正确具体实现

<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.