本文共 1765 字,大约阅读时间需要 5 分钟。
设计模式之四:模板方法模式 http://www.taidous.com/thread-48604-1-1.html(出处: 【泰斗社区】-专注互联网游戏和应用的开发者平台)
模板方法模式(Template Method Pattern): 定义:Define the skeleton of an algorithm in an operation,deferring some steps to subclasses . Template Method lets subclasses redefine certain steps of an algorithm without changing the algorithm's structure.(定义一个操作中的算法的框架,而将一些步骤延迟到子类中,使得子类可以不改变算法 的结构即可重定义该算法的某些特定步骤)。 类图: |
public abstract class AbstractClass { //基本方法1 public abstract void PrimitiveOperation1(); //基本方法2 public abstract void PrimitiveOperation2(); //模板方法 public void TemplateMethod() { //调用基本方法,完成相关的逻辑 this.PrimitiveOperation1(); this.PrimitiveOperation2(); } } //具体模板A代码 public class ConcreteClassA:AbstractClass { //实现基本方法1 public override void PrimitiveOperation1() { //业务逻辑处理 } //实现基本方法2 public override void PrimitiveOperation2() { //业务逻辑处理 } } //具体模板B代码 public class ConcreteClassB:AbstractClass { //实现基本方法1 public override void PrimitiveOperation1() { //业务逻辑处理 } //实现基本方法2 public override void PrimitiveOperation2() { //业务逻辑处理 } } //场景类 public class Client { public static void main(String [] args) { AbstractClass class1 = new ConcreteClassA(); AbstractClass class2 = new ConcreteClassB(); //调用模板方法 class1.TemplateMethod(); class2.TemplateMethod(); } }