2012-04-12 111 views
0

我有一个Wcf服务,提供产品集合列表到两个不同的ViewModels。Wcf服务方法设计

  • 视图模型1调用WCF服务来获得产品的集合
  • 视图模型2调用WCF服务来获得产品的集合

它是不好的做法,拉布勒我的WCF服务方法,这样

  1. 列表MyWCFSerive.GetProductsForViewModel1()

  2. 列表MyWCFSerive.GetProductsForViewModel2()

有没有更好的选择?

回答

1

是的,这是不好的做法,你会把你的服务耦合到特定的演示实现和技术。

当你想通过相同的服务在MVC网站上的产品列表时会发生什么?

如果两个视图模型都检索相同的产品集合,则它们应调用相同的服务方法。如果每个视图显示不同的产品集合,则应该根据集合的不同方式来命名方法,例如,如果应用了不同的过滤,那么这应该被方法名称隐含。

+0

你还有其他更好的选择吗?我最终可能需要将其扩展到3个或4个不同的UI界面 – caa 2012-04-12 20:14:31

+0

数据的每个视图如何不同? – devdigital 2012-04-12 20:15:54

+0

嗯,我有一个PriceQuoteViewModel只能显示极少数产品的实时报价(主要是因为该功能还没有扩展到很多产品)。我也有第二个叫做WizardPricerViewModel的ViewModel,它可以让你向经销商索要价格,但是他们不会显示实时报价。 – caa 2012-04-12 20:23:29