如何在策略实施中使用策略提供依赖性

时间:2016-08-17 10:09:00

标签: c# strategy-pattern

我需要创建一个查询api。所以,我创建了以下代码结构

   interface IDataProvider
    {
      IEnumerable<SomeData> GetData()
    }


    class FirstDataProvider : IDataProvider

    {
         private IojectRequiredForCalucation _instance
       public FirstDataProvider(IojectRequiredForCalucation instance )    

      {
        this._instance = instance;
       }

        IEnumerable<SomeData> GetData()
        {
               // calculate using _instance object
        }
    }

         class SecondDataProvider : IDataProvider

    {
         private Iobject2 _instance
       public FirstDataProvider(IObject2 instance )    

      {
        this._instance = instance;
       }

        IEnumerable<SomeData> GetData()
        {
               // calculate using _instance object
        }
    }



    Class QueryApi
    {
         IDataProvider _dataProvider;

       public QueryApi(IDataProvider dataProvider)
       {
        this._dataProvder = dataProvider
       }

      public IEunmerable<DataToClient> GetDataForItem(Item item)
       {
              var someDatae = _dataProvider.GetData()
               // do some processing and return back data to client.
       }
     }

现在,我将把查询API暴露给客户端。

  

应该委派谁创建数据提供程序客户端或的任务   框架本身(QueryApi)??

就我而言,我是客户和创造者。所以,我可以做任何我想做的事情,但我想知道在实际使用案例中,委托提供者创建的最佳方式是什么,以及如何提供这些提供者的依赖。

0 个答案:

没有答案