0

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

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

那么执行此操作的最佳设计模式是什么。

4

2 回答 2

3

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

interface IXmlParserFactory
{
    IXMLParser CreateParser();
}
于 2013-04-09T12:00:12.443 回答
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);

ETC....

于 2013-04-09T12:06:55.727 回答