上一篇中,我們生成了實體代碼,加入了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: }