C# 依赖注入和运行时依赖.NET最佳设计模式
我想在这种情况下使用依赖项注入: 我有n个IXMLParser抽象,每个抽象都有一个或多个实现。 我检查数据库中是否有活动的IXMLParser。 对于每个活动的IXMLParser,我实例化了正确的实现(但这是针对DI的?)C# 依赖注入和运行时依赖.NET最佳设计模式,c#,.net,oop,design-patterns,dependency-injection,C#,.net,Oop,Design Patterns,Dependency Injection,我想在这种情况下使用依赖项注入: 我有n个IXMLParser抽象,每个抽象都有一个或多个实现。 我检查数据库中是否有活动的IXMLParser。 对于每个活动的IXMLParser,我实例化了正确的实现(但这是针对DI的?) 那么,做这件事的最佳设计模式是什么呢 您可以注入一个工厂来创建所需的IXMLParser interface IXmlParserFactory { IXMLParser CreateParser(); } 您可以注入一个工厂来创建所需的IXMLParser i
那么,做这件事的最佳设计模式是什么呢 您可以注入一个工厂来创建所需的IXMLParser
interface IXmlParserFactory
{
IXMLParser CreateParser();
}
您可以注入一个工厂来创建所需的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);
现在,您可以根据需要创建不同类型的解析并发送给构造函数
范例
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);
等等……您可以设置构造函数的格式,将参数作为 范例
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);
现在,您可以根据需要创建不同类型的解析并发送给构造函数
范例
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);
等等……在我看来,你是在尝试做一个类工厂。在我看来,你是在尝试做一个类工厂。