<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      DDD~我們應該知道的Model,DomainModel和ViewModel

       

      回到目錄

      圖在前

      目前項目中可能出現的三種Model模式,對于我們現在開發的一個項目,我覺得使用DDD的思想來設計模型比較清晰,使用DDD的思想把模型model分成了如下三種:
      下面是我微博中的截圖:
      上面的圖中把模型分成了ViewModel,它與頁面相關,DomainModel,它與業務模塊相關,Model,它與數據庫相關,它是對數據表的一種映射,一般用XML來表示。

      文字說明在后

      下面我們來舉個例子,用認識一下這三個模型:
      下面以用戶業務為例,來講一個這三種模型

      UserDomainModel

      public class UserDomainModel
          {
              [Required]
              [Display(Name = "用戶名")]
              public string UserName { get; set; }
      
              [Required]
              [DataType(DataType.EmailAddress)]
              [Display(Name = "電子郵件地址")]
              public string Email { get; set; }
      
              public int UserID { get; set; }
      
              public Common_Area Common_Area{get;set;}
      
              public User_Extension User_Extension{get;set;}
           }

       

      而對于用戶業務它又有注冊,登陸,這需要不同的view來呈現,這時需要ViewModel

      LoginModelRegisterModel

      public class LoginModel
          {
              [Required]
              [Display(Name = "用戶名")]
              public string UserName { get; set; }
      
              [Required]
              [DataType(DataType.Password)]
              [Display(Name = "密碼")]
              public string Password { get; set; }
      
              [Display(Name = "記住我?")]
              public bool RememberMe { get; set; }
          }
      
          public class RegisterModel
          {
              [Required]
              [Display(Name = "用戶名")]
              public string UserName { get; set; }
      
              [Required]
              [StringLength(100, ErrorMessage = "{0} 必須至少包含 {2} 個字符。", MinimumLength = 6)]
              [DataType(DataType.Password)]
              [Display(Name = "密碼")]
              public string Password { get; set; }
      
              [DataType(DataType.Password)]
              [Display(Name = "確認密碼")]
              [Compare("Password", ErrorMessage = "密碼和確認密碼不匹配。")]
              public string ConfirmPassword { get; set; }
          }
      而這些數據如何與數據庫關聯,這會用到了model,即我們的表,對于用戶業務來說,它可以有user_info,user_Extesion,Common_area等model組成,而domain model是將這三張表進行組合,以user_info為主導,其它兩個表于輔助,形式一個整體,而這個
      整體我們在DDD里叫它聚合,整理里的標識叫它聚合根,一般是一個Guid碼。
       
      posted @ 2013-12-19 16:11  張占嶺  閱讀(6076)  評論(4)    收藏  舉報
      主站蜘蛛池模板: 无码 人妻 在线 视频| 中文字幕av日韩有码| 亚洲av激情一区二区三区| 人妻丝袜无码专区视频网站 | 抚远县| 欧美乱码卡一卡二卡四卡免费| 黄男女激情一区二区三区| 人妻人人做人做人人爱| 色吊丝永久性观看网站| 久久精品国产99久久美女| 久久精品国产一区二区三区| 国产亚洲tv在线观看| 91精品国产午夜福利| 久久久久香蕉国产线看观看伊| 久久精品国产福利一区二区| 亚洲区精品区日韩区综合区| 亚洲AV永久无码嘿嘿嘿嘿| 国产精品午夜福利免费看| 国产欧美日韩高清在线不卡| 日日碰狠狠躁久久躁96avv| 99RE8这里有精品热视频| 高碑店市| 韩国福利视频一区二区三区| 先锋影音男人av资源| 国产精品户外野外| 人妻在线无码一区二区三区| 中文字幕国产日韩精品| 国产精品一区二区黄色片| 日韩人妻无码一区二区三区| 国产精品无码专区| 亚洲av日韩av综合在线观看| 国产免费爽爽视频| 四虎亚洲国产成人久久精品| 成人午夜电影福利免费| 国产成人无码综合亚洲日韩| 偷拍美女厕所尿尿嘘嘘小便| 在线 欧美 中文 亚洲 精品| 久久99国产亚洲高清观看首页| 国产精品黑色丝袜在线观看| 国产午夜精品福利视频| 国产精品第一二三区久久|