我有一个名为IService
的界面,以及IServiceA : IService
,IServiceB : IService
,IServiceC : IService
等衍生服务。
这些服务的实现类需要类型为MyContext
的上下文参数,并且某些服务需要引用该上下文中的其他服务。例如:
ServiceA : IServiceA
需要MyContext
和IServiceC
(在构造函数中)。
ServiceB:IServiceB只需要MyContext
。
我想创建一个创建每个服务的抽象工厂 根据要求。类似的东西:
T GetService<T>(/*MyContext context - ?*/) where T : IService;
但我不太清楚如何添加上下文部分。 我知道MyContext参数是每个服务的实现细节的一部分,所以我很乐意听到 关于解决这个问题的不同方法。
IServiceA
的多个请求
使用相同的MyContext
参数将返回相同的实例
IServiceA以及IServiceA
请求MyContext
的请求
参数将返回不同的实例。由于