报表开发工具中的MVC(一)

MVC概念现在对多数程序员来说,并不陌生,如果你是java程序员,那你更是需要天天与他打交道,有意无意之中,如swing,jsp,servlet,ejb,...等等,MVC如此大受推崇,其中的好处自不必多说,而且这个也不是我今天要说的内容,总之,MVC好处,用一句相当流行的话说,相信群众,错不了。
 
今天我想就报表工具中的MVC架构,谈谈我自己的理解,以期达到抛砖引玉的效果,与大家共同探讨。
 
报表工具历来是注重表现的,如果说要给软件着装,那应该穿工装,和晚装,广大前台数据录入人员,看到的是穿工装的软件,领导看报表,看到的是穿晚装的软件,工装的要求是界面简洁,干活不拖泥带水,不影响效率。晚装的要求是界面友好漂亮,深情款款。因此,领导注重软件,更注重报表表现,是很自然的事情。要打动客户,先打动客户的领导,要打动领导,得先有一套好的晚装-----报表。
 
如果按MVC的概念来说,领导们看到的是报表的VIEW, 只有程序员知道,存在CONTROL,MODEL。MVC概念引入对报表工具来说,影响是多层次的,意义也是多层次的,按我的理解,至少有这样三个层次,模板层次数据获取层次展现层次
 
模板层次就是,就是把报表格式,数据引用,保存成一个模板文件,报表引擎引用按模板文件中的设置,自动生成报表。这样做的意义,是把报表中需要经常改变的部分从代码中独立出来,对报表的修改,不需要重新编译代码,这样大大降低开发商报表开发与维护的成本,提高对客户需求的响应速度,也使客户可以自己修改甚至新建报表,开发商与客户都很满意。很酷的想法,虽然,我接触报表模板早于接触MVC,我也不知道MVC的历史是否早于报表模板,但我还是认为,报表模板的引入正是遵循了MVC哲学。我最早报表开发经历是在90年代初,那时还是dbase3,foxbase的天下,可以说报表开发的刀耕火种时代,一张报表就是一段代码,要修改报表就要修改代码,而且报表格式的字符串,与打印控制代码交错在一起,比如 chr(27)+“┌──┐”+chr(13)+”├──┤”,这样的代码,估计从那个时代过来的程序员,是很亲切的,还好,那时候的字处理软件,如wps,ucdos,都可以方向键画表格,也算是相当有效率。后来使用pb,quickreport制作报表,有了可视化的设计器,有专门的文件来管报表格式,但基本还是没有完全从代码中独立出来,实际上,他们的格式文件是作为资源的动态链接库出现,因此,最终用户无法在没有源码的情况下,来修改报表。水晶报表真正地做到了模板独立的报表工具,虽然水晶报表仍然是面向程序员的一个开发工具,但最终客户是可以修改,设计报表的。随着web时代的到来,ms也有了自己的报表产品,reporting service,水晶报表已经风光不再,但因为当年嵌入到ms的许多开发工具中,昔日的老大,仍然有不可低估的影响力,这是题外话,水晶报表成功地将报表模板概念引入到报表开发工具中,后起的报表工具厂商都无一例外地遵循了这个标准。
 
 模板实现优点缺点
dbase/foxbase一段代码一张报表 维护成本高
pb/Delphi报表格式信息,置于dll中可视化设计改报表需要改代码
水晶报表报表模板独立于代码可视化,改报表不涉及代码,不适合中国式报表,技术老旧,不适合于web时代
   
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值