- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
GOF的模板方法及其在回溯算法中应用研究
摘 要:软件设计模式代表了从成功的系统设计中分离出来可复用的优秀设计经验,已成为现代软件系统设计的重要研究对象。在此介绍采用GOF的模板方法模式及采用回溯算法的模板方法模式的设计与实现。该实现使得回溯算法的实现达到了可扩展性、灵活性和可插入性三个目标,提高了算法的可维护性和可复用性。最后,演示如何使用该设计来解决N皇后问题、排列问题和子集和问题。
关键词:GOF设计模式;模板方法模式;设计模式;回溯算法
中图分类号:TP311文献标识码:A
文章编号:1004-373X(2009)20-123-03
Research on Template Method of GOF in Back Tracing Algorithm
LIU Congjun
(School of Computer Science and Engineering,Jiangsu University of Science and Technology,Zhenjiang,212003,China)
Abstract:Software design pattern represents excellent design experience that can be reused abstracted from successful system designs.It has become an important study subject in modem software design.Template method pattern of GOF and the realization of template method pattern in back tracing algorithm are introduced.The implementation makes the algorithm achieve the goal of extensibility,flexibility and pluggability,promote maintainability and reuseability of the algorithm.At last,it demonstrates how to apply to problem of N_Queen,permutation and sum of subset.
Keywords:GOF design model;template method pattern;design pattern;back tracing algorithm
0 引 言
设计模式的概念可以应用于生活的各个领域。例如:在都市规划和建筑学中,设计模式常用来描述城市设计和建筑设计中普遍问题的特征,以及一些为解决某些问题而准备的标准解决方案的模式。
设计模式的思想最初来源于建筑领域,建筑师Christopher Alexander首先提出了设计模式的概念。他认为,每一种模式描述一个经常出现的问题和这个问题的解决方案,这种解决方案可以反复使用,而无需每一次重新设计。尽管Alexander描述的是建筑和规划中的设计模式,但其中体现的思想也适用于建筑设计以外的一些领域,只是在这里,对象和接口代替了墙和门窗,但模式的核心都是一样的,即需要在某种环境下解决特定问题的通用方法。
设计模式的基本描述格式通常包括[1,2]:
(1) 名称:模式的名称;
(2) 问题:模式要解决的问题及模式所适用的环境;
(3) 解决方案:一个通用的解决方案,包括模式中的组件、组件间的交互以及它们的职责、关系和协作;
(4) 效果:使用这种解决方案会产生的效果;
(5) 相关模式:与这种模式相关的其他模式。
在20世纪90年代早期,设计模式对软件制造业产生了很深的影响。1994年,Gamma,Helm,Johson,Vlissides合著了一部可以被称为是设计模式领域中“圣经”的著作《设计模式:可重用的面向对象的软件元素》。这本书的成功为他们赢得了一个亲切的称号:GOF,在这本书中所描述的模式也常被称为GOF设计模式[3,4]。模板方法(Template Method)模式是GOF设计模式中最为常见的几个模式之一。
1 模板方法模式介绍
模板方法设计模式用于定义一个算法,一个算法的某些步骤和另一个算法的对应部分可能有很大的变化。负责逐步实现算法的方法称为模板方法。由于计算步骤的变化,这些变化的步骤常是以其他子类实现的,就是说模板方法会调用一个或多个抽象方法,这些抽象方法是由不同子类实现的。
文档评论(0)