您的位置:首页 > 其它

模板方法设计模式

2014-09-17 14:05 176 查看


模板设计模式

概念:定义一个算法中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成。

使用场合:
1.一次性实现一个算法的不变部分,并且将可变的行为留给子类来完成。
2.各子类公共的行为应该被提取出来并集中到一个公共父类中以避免代码的 重复。首先
识别现有代码的不同之处,并且把不同部分分离为新的操作,最 后,用一个调用这些新
的操作的模板方法来替代这些不同的代码
3.控制子类的扩展

模板方法模式的组成:
--父类角色:提供模板
--子类角色:为模板提供实现

举例:
Template抽象类中有一个show()方法,show方法中调用内部方法顺序为fun1、fun2、
fun3
Children1继承抽象类,并提供fun1、fun2、fun3的实现,但是不需要重写show()方法

备注:模板方法的模板类只能使用抽象类不能使用接口,否则无法定义算法骨架。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: