问题描述
目前做一个MVC4的项目用匿名对象是可以解决一些问题的但是有些场景必须要有ViewModel参与感觉有点麻烦大家讨论下有没有什么好些的办法?
解决方案
解决方案二:
匿名的开发方便ViewModel维护方便
解决方案三:
学生的习作无所谓。不过很快你就感觉不便了。比如说,一个商品表有20个字段,显示在购物车中的无非图片、商品名、单价这几个,你还传一个数据库表,你自然就是知道不是一点麻烦了。为了不太麻烦,那就接受一点麻烦。总之,自己去写程序,自己领悟。
解决方案四:
ViewModel挺好的呀,小项目无所谓,大项目还是ViewModel更好点吧起码,有条理,清楚
解决方案五:
才弄明白ViewModel是什么意思,其实ViewModel易维护,匿名易用
解决方案六:
把ViewModel误以为是数据实体Model,是完全没有搞懂什么是ViewModel的表现。比如说你的页面是一个“工程进度表”,我们且不论除了中间焦点内容以外的一大堆内容,单说中间的使用通用的Grid组件/控件所绑定的明细数据部分,假设它有40行内容,那么你需要在ViewModel中记录这个明细数据的读取来源(服务地址和业务查询条件)是哪里、页面现在是多少号、每一页有多少行。假设用户修改每页行数,或者改变页号,你的代码就需要重新查询后台数据库来找到一页数据。你以为数据库表里边有“一页纸”这种数据单位吗?数据库表里有数据源服务地址这种东西吗?当然没有。ViewModel记录的东西是前端表现所需要的,根本不是从什么数据库表出发来设计的。满脑子只有数据库“增上改查”的人是不可能设计好ViewModel的,因为想不到该有什么内容。
解决方案七:
其实有些代码,你觉得用跟不用差不多,因为根本就不应该是那么用的。给大妈一个iPad,她把它当切菜板使用。就是这么回事。
解决方案八:
ViewModel就是让你把“一个”前端界面的数据指标给规范到“一个”数据结构中,而不是分散地丢在什么HiddenField、__ViewState、各种前端UI控件、javascript全局变量中。这样当数据改变,界面就自动改变了;当界面有响应,数据也产生变化了。这哪里纠缠什么数据库里的实体了呢?如果学生学习靠“自学”可能会被一堆错误的开发模式所淹没,根本没有花精力去设计ViewModel,也集中不起精力来好好设计ViewModel。逃避开真正有难度的前端设计,只知道弄点数据库表中的数据觉得最省力。