通过引入工厂使依赖项注入为可选?
|
因此,我有一个包含早午餐服务类的软件。这些服务通过它们各自的构造函数具有一定的依赖性。
我在设计时就考虑了依赖项注入,但是打算在软件之上构建的开发人员可能不希望使用DI。因此,我尚未实现IOC容器,因此开发人员可以根据需要引入一个IOC容器。
我的问题是该软件随附一个管理网站,该网站使用这些服务。
我不想在站点中对服务依赖项进行硬编码,因为我希望开发人员可以根据需要切换它们。
那么我应该怎么做呢?
我当时正在考虑建立一家服务工厂,并在某个地方提供固定的静态位置。然后在网站上使用它。
public class ServiceFactory : IServiceFactory
{
public static IServiceFactory Current { get; set; }
static ServiceFactory()
{
Current = new ServiceFactory();
}
public TService Create<TService>()
{
// Creation logic here.
}
}
通过将自己的ѭ1的实现设置为静态ServiceFactory.Current
属性,开发人员将能够控制事物。
这是要走的路吗?
没有找到相关结果
已邀请:
2 个回复
犯痪桂涛杭
碧肮械淌设