| 性,对代码的移植产生很大的困难,但是Bridge设计模式将抽象和实现部分放在独立的不同层次的类结构中,将抽象中与系统平台相关部分分离开来,同时也降低了实现部分对编译的依赖性,当改变一个实现类时,并不需要重新编译抽象部分和它的客户程序。
我们的报表系统是一个通用系统,我们希望这个系统能够支持多窗口系统。虽然不同的窗口系统有不兼容的程序设计接口,但是所有的窗口系统总的来说还是在做同一件事情,我们可以对不同的窗口系统做一个统一的抽象,在对各窗口系统的实现做一些调整,使之符合公共接口。
我们首先定义一个Windows抽象类,它封装了需要各窗口系统都要做的一些事情,并且能跨越不同的窗口系统实现。在这个抽象类提供了支持大多数窗口系统的方便接口,其具体的子类支持用户用到的不同种类的窗口,而对不同窗口系统的实现则由WindowImp类层次隐藏。WindowImp是一个封装了窗口系统相关代码的对象的抽象类,为了使报表系统运行于一个特定的窗口系统,我们用该子系统的一个WindowImp子类设置Window对象。这样,避免了对窗口系统的直接依赖,这样可以让Windows类保持相对较小而且较稳定,同时还能方便的扩展实现层次结构以支持新的窗口系统。
Window和WindowImp层次结构之间的关系有下图所示,其中Windows_X即为可以扩展的窗口系统接口。

图3 Window和WindowImp层次结构
4 结语
应用设计模式可以使看似复杂的系统设计和实现简单化,设计出来的系统具有灵活、健壮和可复用性强等特点,而且还可以方便开发人员的沟通和交流,保证软件开发文档的准确性和易读性,便于代码开发工作。在报表系统中引入设计模式,不仅加深了对面向对象思想的认识,而且使得系统的设计间接明了,提高了软件系统的可维护性和伸缩性。
文章就设计模式在通用报表系统中的使用进行了一定的研究和探讨。主要就通用报表系统中几个关键的通用问题给出了相关的设计模式解决方案。该通用报表的设计为解决集团性企业、政府统计的报表汇总分析、预算编制、合并报表的解决方案;它还可以引入到分销管理中,以承担DRP系统中临时性、非结构化数据的统计任务;根据统计管理对象的不同,它还能成为网上人事统计、资产管理系统的二次开发平台。 上一页 [1] [2] 上一页 [1] [2] [3]
|