Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/wcf/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Wcf服务方法设计_Wcf_Wcf Ria Services - Fatal编程技术网

Wcf服务方法设计

Wcf服务方法设计,wcf,wcf-ria-services,Wcf,Wcf Ria Services,我有一个Wcf服务,它向两个不同的ViewModel提供产品列表集合 ViewModel 1调用WCF服务以获取产品集合 ViewModel 2调用WCF服务以获取产品集合 这样标记我的WCF服务方法是一种不好的做法吗 列出MyWCFSerive.GetProductsForViewModel1() 列出MyWCFSerive.GetProductsForViewModel2() 有更好的选择吗 是的,这是一种不好的做法,您可能会将您的服务与特定的表示实现和技术相耦合 当您希望通过同一服务在

我有一个Wcf服务,它向两个不同的ViewModel提供产品列表集合

  • ViewModel 1调用WCF服务以获取产品集合
  • ViewModel 2调用WCF服务以获取产品集合
这样标记我的WCF服务方法是一种不好的做法吗

  • 列出MyWCFSerive.GetProductsForViewModel1()

  • 列出MyWCFSerive.GetProductsForViewModel2()


  • 有更好的选择吗

    是的,这是一种不好的做法,您可能会将您的服务与特定的表示实现和技术相耦合

    当您希望通过同一服务在MVC站点上获得产品列表时,会发生什么情况


    如果两个视图模型检索相同的产品集合,那么它们应该调用相同的服务方法。如果每个视图显示不同的产品集合,则应根据集合的不同来命名方法,例如,如果应用了不同的筛选,则应通过方法名称来暗示这一点。

    您还有其他更好的选择吗?我可能最终需要将其扩展到3或4个不同的UI界面。每个数据视图如何不同?我有一个PriceQuoteView模型,它只能显示极少数产品的实时报价(基本上是因为该功能尚未扩展到许多产品)。我还有另一个叫做WizardPricerViewModel的视图模型,它可以让你向经销商索取价格,但不显示实时报价。也许我的WCF方法可以是GetLiveQuoteProducts和GetRequestQuoteProducts?是的,它们听起来更合适