Welcome 微信登录

首页 / 网页编程 / ASP.NET / 微型项目实践(4):Common层代码分析

微型项目实践(4):Common层代码分析2011-11-24 博客园 冬冬上一篇中,我们生成了实体代码,加入了Business和Common,项目突然变得大了起来,现在我们就来 一点点分析。

我们还是从这张系统结构图出发。先来看Common这个DLL,其中所包含的类,如下图所示。

1,验证相关类(IValidatable,Validater,ValidateResult,ValidateFailException)

这四个类主要是在业务层,验证实体数据时使用,每一个实体(Entity)在保存数据时对其自身数据 进行验证,以保证绝不让非法数据保存到数据库中,这四个类就是为这一功能服务的。其中验证器 (Validater)是这四个类的核心,负责验证的实现。以下这段测试代码(位于 DongBlog.TestCommonValidateValidateTest.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: }