企业应用软件开发具有两个显著的特点:
(1)业务复杂;
(2)数据量大。
由这两个特点派生出另一特点——数据存储复杂。
在一般的结构或编程习惯下,我们总是尽量让程序的重用性尽可能高,算法的结构尽可能简单明了。基于这两点考虑,在程序中会尽量采用重载和多步处理的方法。这里所说的“多步处理”是指将一个对象,对象集或数据集进行二次处理得到满足需要的格式的结果。合理的多步处理会让程序的可读性明显增强。
首先,我们来看重载。勿庸置疑,重载使得程序本身的复用性大大提高,但不是每个重载都是最佳的设计。比如有这样一个简单问题:
例1
根据给定开始时间(dtBegin)和结束时间(dtEnd)来查询数据,假设查询语句类似“select A.somefields from A where A.fdBeginDate>=@dtBegin and A.fdEndDate<=@dtEnd”;
现在提供给用户的操作界面是两个时间可以不输入,即查询请求提交可能有三种情形:
不妨设用户查询接口为UserQuery;
UserQuery() | //没有查询条件; |
UserQuery(dtBegin,-) | //只有开始时间; |
UserQuery(-,dtEnd) | //只有结束时间; |
UserQuery(dtBegin,dtEnd) | //指定每一时间; |