意图:定义一个操作中的算法的骨架,而将一些步骤延迟到子类中。template method使得子类可以不改变一个算法的结构即可重定义该算法得某些特定步骤。
需要遵循一个过程或一系列步骤,它们在某个具体层次上保持一致,但单个步骤在更详细的层次上可能有不同的实现时,用此模式。有人问:为什么不用多个strategy模式啊?我的理解:strategy模式是每一步都可以选多个实现,比如帽子可以选a,b,c,鞋子可以选a,b,c,但teamplate method是指只能选一套a,或一套b,一套c,不能分开选,此时a,b,c直接有固定的联系。
posted on 2006-07-21 10:29
保尔任 阅读(358)
评论(0) 编辑 收藏 所属分类:
Design Patten