程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> .NET網頁編程 >> ASP.NET >> 關於ASP.NET >> 微型項目實踐(4):Common層代碼分析

微型項目實踐(4):Common層代碼分析

編輯:關於ASP.NET

上一篇中,我們生成了實體代碼,加入了Business和Common,項目突然變得大了起來,現在我們就來 一點點分析。

我們還是從這張系統結構圖出發。先來看Common這個DLL,其中所包含的類,如下圖所示。

1,驗證相關類(IValidatable,Validater,ValidateResult,ValidateFailException)

這四個類主要是在業務層,驗證實體數據時使用,每一個實體(Entity)在保存數據時對其自身數據 進行驗證,以保證絕不讓非法數據保存到數據庫中,這四個類就是為這一功能服務的。其中驗證器 (Validater)是這四個類的核心,負責驗證的實現。以下這段測試代碼(位於 DongBlog.Test\Common\Validate\ValidateTest.cs)展示了這該個類的典型用法,即通過AddCondition 添加要驗證的條件(通常是表達式)和驗證失敗時顯示的錯誤信息,通過Validate方法取得驗證結果 (ValidateResult類的實例):

  1: [TestMethod(), Description("驗證失敗測試")]
  2: public void ValidateFailTest()
  3: {
  4:   Validater validater = new Validater()
  5:     .AddCondition(true, "Error1")
  6:     .AddCondition(false, "Error2")
  7:     .AddCondition(false, "Error3");
  8: 
  9:   ValidateResult validateResult = validater.Validate();
 10:   Assert.IsFalse(validateResult.IsValidated);
 11: 
 12:   //Validate error message
 13:   Assert.AreEqual<int>(2, validateResult.ErrorMessage.Length);
 14:   Assert.AreEqual<string>("Error2", validateResult.ErrorMessage[0]);
 15:   Assert.AreEqual<string>("Error3", validateResult.ErrorMessage[1]);
 16: }

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved