上一页 1 ··· 318 319 320 321 322 323 324 325 326 ··· 381 下一页
摘要: 回到目录如果您看到这个题目,觉得有点怪,那说明你是一个高人,最起码比我高的多,呵呵。前几天做了一个公用后台管理系统的项目,其中有一个地方涉及到权限管理的,即为每一个按钮赋一个权限,然后它权限汇总到角色表里,即一种角色有一些操作权限,表结构如下:我们看到OperatorAuthority就是操作权限的意思,它是个int类型的,一个role有一个OperatorAuthority,那我们应该怎么把多个权限存储到OperatorAuthority字段里呢?这时,我想到了枚举类型的位运算,所以我把权限枚举设计成了这样: 1 [Flags] 2 public enum UserOperato... 阅读全文
posted @ 2012-06-08 10:51 张占岭 阅读(2611) 评论(14) 推荐(2)
摘要: 回到目录今天发表了《将不确定变为确定~表达式树是否可以有个集合,条件过滤有了新方向》文章后,马上有朋友问起,如何实现OR查询,如果实现AND查询,事实上它说的可能并不完整,完整的话应该是,“如何实现N个字段进行OR运算和AND运算”呢,没错,我在那篇文章中,条件过滤只是针对单个字段的,是一种AND运算,也是一种条件的过滤机制,即:有条件a1,a2,a3,它的过滤方式是先过滤a1,然后在剩下的结果里过滤a2,最后再过滤a3,它相然等同于a1 && a2 && a3,但如果要实现OR运算,我的那个程序就无能为力了,看看我们伟大的JamesJim同志写的这个OR与AN 阅读全文
posted @ 2012-06-07 23:41 张占岭 阅读(3163) 评论(8) 推荐(1)
摘要: 回到目录对于我之前项目中的统一条件过滤采用了dictinary来实现的,优点就是方法签名统一了,缺点不用说,就是字典的键容易写错,感觉一进入.net3.5之后,一切都要和Expression联系在一起,我们在创建一个Expression(表达式树)时,可以使用lambda表达式去创建,很容易:1 Expression<Func<string, bool>> predicate= name=>name=="zzl";可以看到,它其它由一个委托组成,输入参数是个字符,输出是个布尔值,在LINQ中这种技术被广泛的使用在扩展方法中,如Where扩展方法 阅读全文
posted @ 2012-06-07 13:49 张占岭 阅读(2048) 评论(8) 推荐(5)
摘要: 回到目录接口到底是什么,应该如何去使用它呢?书上说:“接口规定了一组操作的规范,它将一些不相关的对象联系在一起”,说是这样说,但在实际当中我们应该如何去用接口,如何去用好接口呢?事实上,我一直认为,在面向对象中,接口就是大哥大,用好接口,理解好接口,你对面向对象的认识也将上升一个新的台阶,接口不可遗忘的功能就是它实现了面向对象的多态性,多态,即一种对象,在接受指定信息时,实现指定的对象实例,这其实就是我对多态的比较直观的理解。一个用户操作的接口可能是这样被定义: 1 /// <summary> 2 /// 用户相关接口规范 3 /// </summary> 4 ... 阅读全文
posted @ 2012-06-05 23:53 张占岭 阅读(2068) 评论(7) 推荐(4)
摘要: 回到占占推荐博客索引这个系列写的我有点筋疲力尽,文章的复杂度超过了我的想像,其中在很多朋友的回复中可以看出,我的基础知识还需要提高及语言表述能力也需要提高,在此,谢谢各位的好心回复。这个系列写完成后我有个承诺,那就是把核心代码以附件的形式共享出来,如果有需要,可以单击此处进行下载。事实上“改善程序复用性”的本质应该就是你是否遵循了面向对象的原则,你的代码是否面向对象,可能一个方法的重构,一个类的抽象就是一个改善你程序复用性的方法之一,复用性是一点点实现的,它不是在最后阶段进行代码review时进行完成的,而是关系到代码从开发到完成的整个阶段。架构,改善程序复用性的设计~目录(附核心原代码)第一 阅读全文
posted @ 2012-06-05 15:23 张占岭 阅读(4812) 评论(2) 推荐(3)
上一页 1 ··· 318 319 320 321 322 323 324 325 326 ··· 381 下一页