依赖注入和运行时依赖.NET最佳设计模式

时间:2013-04-09 11:57:54

标签: c# .net oop design-patterns dependency-injection

我想在这种情况下使用依赖注入:

我有n个IXMLParsers抽象,每个都有一个或多个实现。   我检查数据库中的活动IXMLParsers。   对于每个活动的IXMLParser,我实例化正确的实现(但这是针对DI ???)

那么这样做的最佳设计模式是什么。

2 个答案:

答案 0 :(得分:3)

您可以注入一个将创建所需IXMLParser的工厂

interface IXmlParserFactory
{
    IXMLParser CreateParser();
}

答案 1 :(得分:0)

您可以格式化构造函数以将参数作为

例如

Class A
{
  IXMLParsers parser=null;

   A(IXMLParsers p)
   {
     parser=p;
    }
}

现在您可以根据需要创建不同类型的解析并发送到构造函数

例如

     A obj1=new A(new Type1Parser);
     A obj2=new A(new Type2Parser);
     A obj3=new A(new Type3Parser);

等...