戏说报表开发

来源:互联网 发布:淘宝能买到可莱性吗 编辑:程序博客网 时间:2024/04/30 05:45

无知者无惧:

       一个高我一级的女性校友在向她的女伴介绍我所从事的程序员的工作时,是这么说的:因为很多办公人员都不会使用数据库,如果他们直接往数据库里保存数据,经常会出错,或者,他们根本不能完成这种工作,所以,要有程序员来写程序操作数据库。当时我使劲的点头,表示认同。可能你已经乐不可支,明白了我那么傻其实不是我的错——那傻X的学校教出来的学生全TMD是傻子,因为,你立即举出了N理由把他侮蔑我们伟大的工作的描述击的粉碎!我不想辩解我的学校还有我自己,但是,我想建议你看一下关于“数据驱动开发”的概念……

       罗嗦了这么多,其实,想抛出一个下文要使用的一个观点——无知者对现象的描述往往是最准确的(在这个位置只描述到这儿,随后再展开),因为“专家”往往由于对其他因素的关注,而忽略了事物的本质。

 

无知者眼中的报表开发:

       呵呵,这儿的无知者当然不是我的那位可爱的校友了,说实在的,我只会采纳她在餐桌上给我的建议,比如吃饭不能吃太多的辣椒等等,即便如此,我也往往我会后悔,因为辣椒不够吃不香,晚上回家又要啃馒头伴辣椒酱。这儿说的无知者,是我自己:一个只开发过B/S结构的最简单的系统的人,不了解报表开发的复杂性。

       报表开发同普通应用开发没有太大区别,同样是从数据源获取数据,进行相应的处理后,显示给操作者或返回给调用者用于继续处理或存储为期他媒体形式。如果只考虑操作者调用的话,同普通开发的区别就是表现形式不同。如果把整个系统映射到MVC模型,报表系统和普通应用系统的差别就是返回给不同的视图层(VIEW)。

 

我不会眼睁睁看着你死的,我会闭上眼睛:

       显然,对客观存在的现象视而不见是愚蠢的,就像不忍心一个人跳楼而闭上眼睛并不能阻止一场悲剧的发生一样。

       报表系统同普通系统之间还是有相当多的差异的:

       报表所涉及到的数据访问一般有如下特点——数据访问范围大,只读,可能跨数据源,大量的汇总、分组、排序等操作。

       操作者同报表系统间的交互一般是单步操作,不会有类似于向导这样的操作形式,也一般不会对返回的结果提交再处理。

       返回结果一般要求打印或转存为其他媒体格式以备再次本地调用。

 

解决方案:

……待续