项目开发的时候.经常会遇到各种验证..例如密码是否正确,用户名重复验证之类的... 如果把这些代码都写在一起的话..那么就会形成下面的这个格式..
.....
我感觉这么写很正常的,对吧? 恩. 也可以把这些验证方法放在另一个地方.然后返回true/false什么的. 这样也能够体现分离.整洁啥的...
但是以后要在添加一个验证呢?? 这样是不是就破坏了传说中的设计模式的开放/封装的原则?
所以根据各种原因我写了这么一个简单的框架..
开始进入正文:
我先说使用方法...
1. 第一步当然是引用程序集了...噗..
2. 实现自己的验证器类. 实现Ivalidator接口. 并指定要验证的类型. 以及验证失败的时候返回的错误信息.
3. 将自己的验证器类添加到Validators这个类中的AddValidator方法里面.并传入相应的参数(1. 验证的类型,2 自定义的验证器类实例)
4. 在编写的程序中. 调用Validators类的Validate方法.
5. 返回值:
a) 如果所有验证器都通过验证.会返回null,这个时候你的程序就可以继续作别的..例如.将用户插入数据库..
b) 如果有一个验证器没有通过. 则会返回验证器对应返回值. (ValidatorResult类型).. 这时你可以写一个全局的方法.然后传入这个类型.根据类型的值跳转,提示什么的.. 然后方法返回..
6. 结束
这个是测试方法...

这个是自己写的验证器类... 实现IValidator接口..

以下是程序集的代码




以下是我认为这个框架的好处..
这个框架将验证的过程单独提出来.封装成相关的类. 并在全局文件中进行注册.. 这样当程序调用的时候. 无论有多少个.. 都直接进行验证. 并返回验证的结果.. 这样以后添加验证的时候.直接写一个类并实现抽象类Validator的抽象方法. 以及返回相应的类型. 然后注册到全局文件中.. 这样就可以不用改方法的基础上.对程序进行扩展了.
虽然不是很流弊,但是我感觉用起来的话. 还是比较方便的. 对开发.
哪里写的不好.还请多批评啊.. 吸取经验. 3Q.
最后附上源文 件: [ 点啊点.点啊点 ]