爱上MVC3系列~使用视图模型的好处及与数据模型之间的赋值问题
<div id="cnblogs_post_body">MVC开发应用程序有个问题,很多开发者不知如何去使用页面模型,大多数开发者认为为每一个页面去设计一个实体是多余的,所以他们使用数据库实体来代码页面视图模型,事实上,这样做的好处就是节省的代码,但不好的地方是什么呢?我来总结一下吧:1 方便根据每一种业务逻辑和前台页面表现,去对模型进行特性的设置
2 前台UI部分与业务层与数据库层可以更加独立,前台页面模型并不依赖于数据库模型
3 可以根据具体业务,去分别设置它们的验证及约束关系
好了,上面我说了3点不使用viewModel的缺点,事实上,确实是这样的,比如,你的userbase实体,如果它需要提供两种业务,如&ldquo;登陆&rdquo;和&ldquo;注册&rdquo;,那么它的前台信息展现与验证业务肯定是不相同的,这时,如果使用ViewModel就很容易的解决了这个问题。
以下是用户模型的代码片断
<div class="cnblogs_code"> 1 /// <summary> 2 /// 用户登陆视图模型 3 /// </summary> 4 public class UserBaseLogOnModel 5 { 6 7 "用户名")] 8 public string Name { get; set; } 9 10 11 "密码")]12 public string Password { get; set; }13 14 "真实姓名")]15 public string RealName { get; set; }16 }17 /// <summary>18 /// 用户注册模型19 /// </summary>20 public class UserBaseRegisterModel21 {22 23 "用户名")]24 public string Name { get; set; }25 26 27 "密码")]28 public string Password { get; set; }29 30 31 "密码")]32 "Password", ErrorMessage = "新密码和确认密码不匹配。")]33 public string ConfirmPassword { get; set; }34 35 "真实姓名")]36 public string RealName { get; set; }37 38 39 "电子邮件")]40 public string Email { get; set; }41 42 43 "电话")]44 public string Tel { get; set; }45 46 "证件类型")]47 public SelectList IDType { get; set; }48 49 "证件号码")]50 public string IDNumber { get; set; }51 }
页:
[1]