【问题标题】:dependency injection and runtime dependency .NET best design pattern依赖注入和运行时依赖 .NET 最佳设计模式
【发布时间】:2013-04-09 11:57:54
【问题描述】:

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

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

那么,最好的设计模式是什么。

【问题讨论】:

  • 在我看来,您正在尝试做一些类似于类工厂的事情。

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


【解决方案1】:

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

interface IXmlParserFactory
{
    IXMLParser CreateParser();
}

【讨论】:

    【解决方案2】:

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

    例子

    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);
    

    等等……

    【讨论】:

      猜你喜欢
      • 2011-05-08
      • 2010-12-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      • 2012-11-23
      • 1970-01-01
      相关资源
      最近更新 更多