标题说明了一切......
我有一个ASP.NET Mvc控制器,它使用ViewModel
类将数据发送到视图。
使用与Web服务的返回类型相同的类是不是一种不好的做法?那些标有[WebMethod]
?
我想这也不错,因为视图模型是由视图以HTML的形式呈现的......但我需要的不仅仅是猜测。
我应该预见到这个问题吗?这样做有没有人遇到问题而后悔呢?
答案 0 :(得分:2)
我认为这取决于您的Web服务的目的:如果它应该由您的视图代码使用,那么这是有道理的。在这种情况下,您应该考虑使用常规控制器操作而不是WebMethod。
如果它应该是单独的Web API的一部分,由单独的表示层使用,那么您可能最终想要更改ViewModel的某些方面,以保持您的视图代码的职责有限,并且无法进行更改,因为它是其他表示层依赖的API的一部分。在这种情况下,我会说你不应该以这种方式使用你的ViewModel类,你应该考虑使用较新的WebApi控制器操作而不是WebMethods。
答案 1 :(得分:1)
我没有看到如何重用你的课程是一种不好的做法,这就是面向对象编程的目的。
请确保不违反单一责任原则,即您的视图模型不会尝试做太多。