在第一次机房收费系统的时候就发现很多相似的窗体,很多重复的代码,那时遇见相似的功能自己还会窃喜,因为不用再次敲了,直接ctrl+c和ctrl+v然后稍加改动就可以了。但是当第二次重构的时候,学习了设计模式,也听同学和师父们讲了很多,重构的时候需要加设计模式,来减少代码的冗余等,现在自己亲身经历,也要感受一下设计模式的神奇所在。
模板方法
组合查询实现过程
窗体部分
考卷VS组合查询
一些组合查询的窗体(操作员工作记录,学生上机记录查询,学生基本信息维护,金额返还信息查询)都是相似的,只是对应查询的表不同,这时候就想到了设计模式中的模板方法——考生试卷的问题,大话设计中介绍的模板方法是通过相同的考卷不同的学生不同的答案来生动介绍的。大同小异,现在几个组合查询的窗体也是相同的,不同的是窗体查询所需要的表不同,选择的字段不同罢了。所以使用模板方法是最好的选择了。首先来介绍一下模板方法。模板方法
定义
一个操作中的算法的骨架,而将一些步骤延迟到子类中。模板方法使得子类可以不改变一个算法的结构即可重定义该算法的某些特定步骤。
我的理解
概念说的比较抽象,结合组合查询窗体来理解一下。就是说先把各个窗体中相同的东西全部提取出来,写在父类中,而将各个窗体独特的东西采用虚方法的方式也写在父类中,然后创建子类继承父类,再在子类中通过重写的方法把不同的内容写出来,就可以实现了。
组合查询实现过程
窗体部分
1、先创建父窗体,各个窗体共同的部分都抽象提取出来。
2、再创建继承的窗体,即继承父窗体。
添加窗体——Windows