您的位置:首页 > 其它

重构ConditionHelper

2015-08-09 22:29 183 查看
  在上一篇日志写了ConditionHelper的具体实现方法和它的用法,但那时只是把心里所想的一个思路用代码记录下来,而没有经过实践检 验的,难免存在一些问题,但在最近的一个新项目中用到ConditionHelper时,才发现其中问题不少,最简单的问题是方法名取得有问题,如 AddAndCondition、AddOrCondition等,不注意的话很容易弄错,所以在重构的过程把这些方法合并成了一个方法,另外还有在使用 时如遇到一些特殊情况还会出错,在重构后把这些问题都修复了,至少用了一两个星期了没有发现新的Bug,但也不能保证不存在Bug了,只能说应该基本是没 什么问题了。

  在使用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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: