我想在这种情况下使用依赖注入:
我有n个IXMLParsers抽象,每个都有一个或多个实现。 我检查数据库中的活动IXMLParsers。 对于每个活动的IXMLParser,我实例化正确的实现(但这是针对DI ???)
那么这样做的最佳设计模式是什么。
答案 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);
等...