重构ConditionHelper
2015-08-09 22:29
183 查看
在上一篇日志写了ConditionHelper的具体实现方法和它的用法,但那时只是把心里所想的一个思路用代码记录下来,而没有经过实践检 验的,难免存在一些问题,但在最近的一个新项目中用到ConditionHelper时,才发现其中问题不少,最简单的问题是方法名取得有问题,如 AddAndCondition、AddOrCondition等,不注意的话很容易弄错,所以在重构的过程把这些方法合并成了一个方法,另外还有在使用 时如遇到一些特殊情况还会出错,在重构后把这些问题都修复了,至少用了一两个星期了没有发现新的Bug,但也不能保证不存在Bug了,只能说应该基本是没 什么问题了。
在使用ConditionHelper的过程中,自己觉得比以前用的方法方便很多了,写出来的代码也精简了不少,看着都舒服些。
以前本来想着改进后直接把上一篇日志修改一下就行了,但自己觉得重构后的代码与重构前的代码有很大的区别,所以想着也没必要把以前不好的东西直接一笔抹 杀,这样也方便以后看看其中的区别。自己最近在重新写框架时,看着以前写的框架有很多地方是写得很啰嗦的,但自己当时并没有这么觉得,有时代码隔一段时间 回头来看你就会发现原来还可以这样精简一下,这并不一定是水平提高的原因,人有时一心放在一件事情上反而不能把事情做好,偶尔把自己的视线移到别的地方, 再回头来看,也许你会发觉原来还可以这样子写。
好了,废话不多说了,以下是重构后的全部代码:
View Code
在使用ConditionHelper的过程中,自己觉得比以前用的方法方便很多了,写出来的代码也精简了不少,看着都舒服些。
以前本来想着改进后直接把上一篇日志修改一下就行了,但自己觉得重构后的代码与重构前的代码有很大的区别,所以想着也没必要把以前不好的东西直接一笔抹 杀,这样也方便以后看看其中的区别。自己最近在重新写框架时,看着以前写的框架有很多地方是写得很啰嗦的,但自己当时并没有这么觉得,有时代码隔一段时间 回头来看你就会发现原来还可以这样精简一下,这并不一定是水平提高的原因,人有时一心放在一件事情上反而不能把事情做好,偶尔把自己的视线移到别的地方, 再回头来看,也许你会发觉原来还可以这样子写。
好了,废话不多说了,以下是重构后的全部代码:
/// <summary> /// 通过登录账号和密码查找用户 /// </summary> /// <param name="userID">登录账号</param> /// <param name="password">加密前的密码</param> /// <returns>返回用户信息</returns> public SysUserInfo FindByUser(string userID, string password) { if (string.IsNullOrEmpty(userID)) return null; password = Encrypt(password); ConditionHelper condition = new ConditionHelper(); condition.AppendCondition(SysUserInfo.F_UserID, Comparison.Equal, userID) .AppendCondition(RelationType.AND, SysUserInfo.F_Password, Comparison.Equal, password); return this.Find(condition); }
View Code
相关文章推荐
- Leetcode55 Jump Game
- java正则表达式抽取html数据
- java正则表达式抽取html数据
- Hibernate学习笔记(四) — session的产生方式 与 一对多关系映射
- Java并发编程:volatile关键字解析
- WinForm窗体及其控件的自适应
- solrCloud 与MMseg4j-1.9.1分词器集成 -第二篇
- Java并发编程:volatile关键字解析
- Struts2值栈详解
- CMAKE 在Windows下的配置
- java中TCP总结
- Javascript模块化编程(二):AMD规范
- linux 内存管理基本框架
- web设计——可乐瑜伽
- VS2012错误处理-Depth-Image_Processing
- O-C相关-10-动态类型检查
- html5常用标签
- O-C相关-10-动态类型检查
- jsoup替换网页中的链接demo
- 最近的一些小感慨