模板方法模式实现组合查询

1.前提

 1.模板方法模式

定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。

 2.组合方法

之前写过一篇博客,讲述实现任意组合查询。中心思想:将所有的查询都看做一种情况来处理(http://blog.csdn.net/lypf19900912/article/details/8959245)

 3.三层架构

用户界面表示层(UL);业务逻辑层(BLL);数据访问层(DAL)


2.目的

利用模板方法来实现组合查询

3.分析

组合查询在机房收费系统中出现了很多次。他们的界面如图:


       实现组合查询的过程也很类似,他们对条件进行组合然后进行查询。细分一下他们实现的相同点和不同点
相同点:选择的条件 拼接成的字符串;不同点:字段的具体内容
       那么对于这个组合查询来说实现的步骤是不变的(选择条件然后拼接字符串),但是实现某些步骤的具体实现是不同的(字段的具体内容不同)。

4.实现

  在BLL层建立一个抽象类和他的子类。
抽象类中有一个虚方法:选择的字段(不同点)

四个实方法:选择的操作符,选择的内容,选择的组合关系,拼接字符串

Imports CooperateJF.Entity
Imports CooperateJF.Factory
Imports CooperateJF.IDAL


Namespace BLL
	''' <summary>
	''' 建立组合查询的抽象类
	''' </summary>
    Public MustInherit Class CombinCheckBLL

        ''' <summary>
        ''' 组合方法
        ''' 完成字段的拼接
        ''' </summary> 
        ''' <param name="enGroupOne">第一条组合
        ''' 传递三条字段信息</param>
        Public Function Combin(ByVal enGroupOne As GroupEnt
  • 2
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 14
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 14
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值