抽象工厂参数使用DI容器

时间:2016-11-01 14:05:48

标签: c# abstract-factory di-containers

我有一个名为IService的界面,以及IServiceA : IServiceIServiceB : IServiceIServiceC : IService等衍生服务。 这些服务的实现类需要类型为MyContext的上下文参数,并且某些服务需要引用该上下文中的其他服务。例如: ServiceA : IServiceA需要MyContextIServiceC(在构造函数中)。 ServiceB:IServiceB只需要MyContext

  • 我想创建一个创建每个服务的抽象工厂 根据要求。类似的东西:

    T GetService<T>(/*MyContext context - ?*/) where T : IService;

    但我不太清楚如何添加上下文部分。 我知道MyContext参数是每个服务的实现细节的一部分,所以我很乐意听到 关于解决这个问题的不同方法。

  • 我还需要一种根据其上下文创建这些服务的方法 值,以便例如创建IServiceA的多个请求 使用相同的MyContext参数将返回相同的实例 IServiceA以及IServiceA请求MyContext的请求 参数将返回不同的实例。
  • 最后,我需要一种方法将它与DI容器(城堡 Windsor首选)以便创建和上下文处理 发生在应用程序根目录附近。

由于

0 个答案:

没有答案
相关问题