从Web服务返回视图模型是不好的做法吗?

时间:2014-03-18 19:55:26

标签: asp.net-mvc web-services

标题说明了一切......

我有一个ASP.NET Mvc控制器,它使用ViewModel类将数据发送到视图。

使用与Web服务的返回类型相同的类是不是一种不好的做法?那些标有[WebMethod]

的人

我想这也不错,因为视图模型是由视图以HTML的形式呈现的......但我需要的不仅仅是猜测。

我应该预见到这个问题吗?这样做有没有人遇到问题而后悔呢?

2 个答案:

答案 0 :(得分:2)

我认为这取决于您的Web服务的目的:如果它应该由您的视图代码使用,那么这是有道理的。在这种情况下,您应该考虑使用常规控制器操作而不是WebMethod。

如果它应该是单独的Web API的一部分,由单独的表示层使用,那么您可能最终想要更改ViewModel的某些方面,以保持您的视图代码的职责有限,并且无法进行更改,因为它是其他表示层依赖的API的一部分。在这种情况下,我会说你不应该以这种方式使用你的ViewModel类,你应该考虑使用较新的WebApi控制器操作而不是WebMethods。

答案 1 :(得分:1)

我没有看到如何重用你的课程是一种不好的做法,这就是面向对象编程的目的。

请确保不违反单一责任原则,即您的视图模型不会尝试做太多。