在这种情况下,我想使用依赖注入:
我有 n 个 IXMLParsers 抽象,每个抽象都有一个或多个实现。我检查数据库中是否有活动的 IXMLParsers。对于每个活动的 IXMLParser,我实例化了正确的实现(但这是针对 DI ??? )
那么执行此操作的最佳设计模式是什么。
在这种情况下,我想使用依赖注入:
我有 n 个 IXMLParsers 抽象,每个抽象都有一个或多个实现。我检查数据库中是否有活动的 IXMLParsers。对于每个活动的 IXMLParser,我实例化了正确的实现(但这是针对 DI ??? )
那么执行此操作的最佳设计模式是什么。
您可以注入一个将创建所需 IXMLParser 的工厂
interface IXmlParserFactory
{
IXMLParser CreateParser();
}
您可以格式化构造函数以将参数作为
例子
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....