论文摘要
图形用户界面(GUI, Graphical User Interface)是应用程序之中容易发生变化的部分,针对GUI应用程序结构的设计将影响到软件的可复用性、可维护性和可扩展性。引入设计模式有助于提炼出这类问题的通用解决方案,减少重复设计。针对GUI应用程序之中调度模块和功能模块之间的耦合问题,提出了一种新的结构型模式——管理者模式,使得两者可以独立扩展和维护。针对继承机制的局限性,管理者模式可以通过参数化的签名设计以及通用函数对象的设计建立从抽象到实现的两级映射关系,以提高GUI应用程序接口设计的可伸缩性。此外,引入管理者模式可以降低组合模式之中结构和信息的耦合度,在保证组合接口复用性的同时独立扩展节点元素信息,以便兼容GUI应用程序之中各种变化的业务场景。基于管理者模式的分层设计可以将GUI应用程序分解为彼此正交的模块单元。控制层的引入降低了模型和视图耦合,两级委托机制则解决了传统分层设计中低层模块对于高层模块的回调问题。公共模型层提炼了可复用的接口和功能单元,提高了模型部分的可复用性,业务模型和持久化模型的分离则提高了模型部分的可维护性。基于管理者模式的组合模式以及分层结构设计在E-Home的实例研究中得到了具体验证,通过引入这些设计解决了E-Home之中应用程序的整体结构设计、图形接口的模型设计等具体问题。