3.3数据显示模块用户可定制性技术
在本系统的开发中,用到大量的数据感知组件,通过这些组件来显示数据表中的记录。为了适应不同数据库的连接要求,使增加新的数据库和数据库存取标准而无须修改客户端的数据显示程序。因此在本系统中作为建造者的新产品也就有TTable、TADOTable等多种形态。如果将创建数据集对象的方法从其表现中分离开来,由可抽象为以下的算法步骤:创建数据库的连接,创建数据集对象,激活并返回数据集对象。
在系统开发的过程中,由于要涉及到多个表,而对各个表的操作界面是完全相同的。用建造者模式能够简化程序的编写设计模式,使程序界面简洁。而且有利于系统的扩充。工资数据表和津贴数据表关系如图5所示。

图5 建造者模式
3.4文件转换模块用户可定制性技术
在系统开发过程中,我们开发一个通用的组件,用于实现将数据库中符合条件的表的内容转换成Excel文件或文本文件。这样设计的好处是既可以在自己的本系统中使用这一组件,也可在其它系统中使用该组件。在实际开发中需要用到这种转换的场合很多。另外如果以后要转换成其它格式的文件,只要在适配器类中进行修改就可以了,客户端的程序完全不用修改。
但在使用这一模式时,也容易犯这样的错误,在设计Adapter时不愿牺牲Adaptee对象的多余功能,转换了过多的Adaptee接口并使接口变得复杂。在实际应用中往往是功能单一且通用、对其它条件依赖性较少的少数接口。所以在设计Adapter模式时要考虑为Adaptee找到一个窄接口,即可用于匹配的最小操作集。系统中用于转换成类图如图6所示。

图6 适配器模式
3.5数据的显示、查询和修改模块用户可定制性技术
在系统开发中,有很多的地方用到数据的显示、查询和修改。用到了“显示数据”——“数据对象”——“后台数据”就对应了“表现层”(界面)——“逻辑层”(业务)——“持久层”(数据库或其它文件)论文的格式。这是程序员在编程应用程序时应该遵循的Class-Type体系结构。通过这种结构,应用程序会因为减少了内部的耦合性而显著提高程序的健壮性。如果用户接口层要获得信息,则必须与业务层的对象交互,然后再通过业务层对象从持久层获得存储在持久层中的对象。这样就能禁止用户层对象直接访问持久层对象中的数据。也就是说你可以改变对象的存储方式,而不需改变你的应用程序界面和报表,如图7所示。

图7 桥接模式
3.6数据的显示、查询和修改模块用户可定制性技术
在系统开发的过程中,要涉及对多个表的操作,如对表进行初始化。尽管对不同的表进行操作,但对表的操作方法是一样的。如果让用户直接对表进行操作设计模式,则会对表产生很大的依赖性,如何增加一个门面层,则会减少这种依赖关系,可以提供子系统的独立性和可移植性。系统中对多个表进行定义的简化图如图所示。用户通过operate实现对不同表的操作。门面模式图如图8所示。

图8 门面模式
4结束语
本文对“组件化软件设计方法与设计模式等技术”进行了实践,,从用户可定制的角度设计应用系统,保证所设计系统具有良好的适应性、可维护性:反映教职工基本数据可以由系统管理员随意定义,并方便管理员增加或删除;所有报表结构可以动态定义,可以根据单位需求的变化进行变动;设计了结构良好的数据导入与导出功能,方便应用系统间的数据交互;采用了基于角色的访问控制方式,由系统管理员定义多级角色,再根据用户业务需要,为每个用户分配不同的角色。这样保证系统具有良好的可管理性与安全性。
参考文献
[1]JeffreyK.H.Mak, Precise Modeling of Design Patterns in UML. Proseeding of the 26thInternational Conference on Software Engineering(ICSE2004):101-120
[2]NeelamSoundarajan and Jason D.Hallstrom, Responsibilites and Rrewards: SpecifyingDesign Patterns. Proseeding of the 26th International Conference on SoftwareEngineering(ICSE2004).
[3]王俊峰,戚晓滨.设计模式和UML. 计算机应用研究. 1998,5:27-29.
[4]CarmaMcClure.软件复用标准指南.北京:电子工业出版社.2004
[5]於长华.基于三层C/S模型的大型关系数据库应用系统优化设计技术. 计算机工程与应用. 1999,11:90-92.
[6]蒋建平,梁新元,舒红平.基于组件和中间件的装配式软件系统模型.计算机工程与应用2004,34:137
[7]Pressman RS.Software Engineering:A Practitioner’s Approach[M].5thed,McGraw-Hill Companies Inc,2000
[8]梅宏,陈锋,冯耀东,杨杰.基于软件体系结构、面向组件的软件开发方法.软件学报,2003,14(4):721-732
2/2 首页 上一页 1 2 |