组合模式、复合查询,稳而不乱
来源:广州中睿信息技术有限公司官网
发布时间:2012/10/21 23:25:16 编辑:itlead 阅读 2320
组合模式看了几遍,可能是没有机会使用的缘故,一直不能领会其中的奥妙,粗看起来貌似很简单,就是部分与整体的关系,整体是由部分组成的。组合模式将对象组合成树形结构以表示"部分-整体"的层

  组合模式看了几遍,可能是没有机会使用的缘故,一直不能领会其中的奥妙,粗看起来貌似很简单,就是部分与整体的关系,整体是由部分组成的。组合模式将对象组合成树形结构以表示"部分-整体"的层次结构,所以又叫做部分-整体模式。这个模式可以让我们像处理简单对象一样处理复杂对象。就是对复杂对象解耦,通过解决一个个简单的问题来解决复杂的问题。

  下面看看这样一个情景。我们在做项目的过程中,客户经常要求有所谓的高级查询,其实就是要自由组合查询条件,然后执行查询条件得到结果,条件可能像下面的情况。

   1.jpg

  通过上图我们可以看出【条件】是由【条件一】和【条件二】组成,而【条件一】则由【名字=‘刘’】和【年龄=‘20’】组合而成,同理可能条件更复杂一些。但是我们可以看出其实归根结底复杂的查询条件都是有简单的查询条件通过and或者or连接词组合而成。也就是【复杂条件(条件)】是【简单条件(名字=‘刘’)】的一个集合,最终的【简单条件(名字=‘刘’)】才是最终条件。这样分析起来它跟组合模式就很吻合。

     2.jpg

  下图是我参考设计模式图而产生的设计图

    3.jpg

  代码我就不贴出来了,实现起来也比较简单。

 

 

 

 本站技术原创栏目文章均为中睿原创或编译,转载请注明:文章来自中睿,本站保留追究责任的权利。

 

 

 

联系我们CONTACT 扫一扫
愿景:成为最专业的软件研发服务领航者
中睿信息技术有限公司 广州•深圳 Tel:020-38931912 务实 Pragmatic
广州:广州市天河区翰景路1号金星大厦18层中睿信息 Fax:020-38931912 专业 Professional
深圳:深圳市福田区车公庙有色金属大厦509~510 Tel:0755-25855012 诚信 Integrity
所有权声明:PMI, PMP, Project Management Professional, PMI-ACP, PMI-PBA和PMBOK是项目管理协会(Project Management Institute, Inc.)的注册标志。
版权所有:广州中睿信息技术有限公司 粤ICP备13082838号-2