设计模式是针对某一类特定软件问题的通用解决方案。应用设计模式可以提高软件的可复用性和可扩展性,降低软件开发和维护的成本。设计模式复用是软件复用的主要形式之一。
论文研究了设计模式的分类、描述、存储、检索、实例化、自动化等方面。其中,重点讨论了设计模式检索和设计模式实例化。根据设计模式的相似性定义和度量,提出了基于模式目标相似性匹配的设计模式检索算法。同时,针对检索条件和设计模式的一对多情形,给出了匹配度的概念和算法,以方便对检索结果进行相似性排序。在模式库中找到合适的设计模式后,如何结合用户需求生成应用设计模式的解决方案,这就涉及到设计模式的实例化方法。每个设计模式都具有模式框架本身的稳定性和用户需求的可变性,根据这一理论,提出了一种基于Velocity模板的设计模式实例化方案。
最后,基于上述的设计模式检索和设计模式实例化方案,论文提出一种构建设计模式自动化工具的设计思想,实现了设计模式库DPStore系统。DPStore是一个统一存储和管理设计模式的容器,作为软件库SoftStore的重要组成部分,DPStore的有效组织能够为设计人员提供设计模式方面的参考和复用支持,使开发人员充分利用已有的成功设计经验,实现抽象层次的设计模式复用。借鉴零编程的思想,用户只需要输入设计问题的需求和必要的参数信息就可以生成应用了合适设计模式的参考解决方案。