模板方法设计模式
2014-09-17 14:05
176 查看
使用场合:
1.一次性实现一个算法的不变部分,并且将可变的行为留给子类来完成。
2.各子类公共的行为应该被提取出来并集中到一个公共父类中以避免代码的 重复。首先
识别现有代码的不同之处,并且把不同部分分离为新的操作,最 后,用一个调用这些新
的操作的模板方法来替代这些不同的代码
3.控制子类的扩展
模板方法模式的组成:
--父类角色:提供模板
--子类角色:为模板提供实现
举例:
Template抽象类中有一个show()方法,show方法中调用内部方法顺序为fun1、fun2、
fun3
Children1继承抽象类,并提供fun1、fun2、fun3的实现,但是不需要重写show()方法
备注:模板方法的模板类只能使用抽象类不能使用接口,否则无法定义算法骨架。
模板设计模式
概念:定义一个算法中的算法骨架,而将一些步骤延伸到子类中去,使得子类可以不改变一个算法的结构,即可重新定义该算法的某些特定步骤。这里需要复用的是算法的结构,也就是步骤,而步骤的实现可以在子类中完成。使用场合:
1.一次性实现一个算法的不变部分,并且将可变的行为留给子类来完成。
2.各子类公共的行为应该被提取出来并集中到一个公共父类中以避免代码的 重复。首先
识别现有代码的不同之处,并且把不同部分分离为新的操作,最 后,用一个调用这些新
的操作的模板方法来替代这些不同的代码
3.控制子类的扩展
模板方法模式的组成:
--父类角色:提供模板
--子类角色:为模板提供实现
举例:
Template抽象类中有一个show()方法,show方法中调用内部方法顺序为fun1、fun2、
fun3
Children1继承抽象类,并提供fun1、fun2、fun3的实现,但是不需要重写show()方法
备注:模板方法的模板类只能使用抽象类不能使用接口,否则无法定义算法骨架。
相关文章推荐
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 设计模式学习笔记(十六)——Template Method模板方法模式
- 设计模式笔记 13. TemplateMethod 模板方法模式(行为型模式)
- 设计模式之模板方法模式(Template Method)
- 设计模式学习之 模板方法模式
- 深入浅出Java模式设计之模板方法模式
- 设计模式学习笔记(十六)——Template Method模板方法模式
- 设计模式——模板方法模式(TemplateMethod)
- 深入浅出Java模式设计之模板方法模式
- 设计模式学习日志(14)-TemplateMethod模板方法(行为型模式)
- 设计模式 - Template Method Pattern(模板方法模式)
- 设计模式系列漫谈之六 - 模板方法模式
- 设计模式笔记(十五) —— 模板方法模式
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- 设计模式(七)[模板方法(Template Method)模式]
- 第六个设计模式之:模板方法
- 浅析设计模式之模板方法
- 设计模式一模板方法模式(spring)
- 白话设计模式--行为型模式--Template Method模式(模板方法模式)
- 设计模式(1)- 模板方法 Template Method Pattern