設計模式(五)模板方法模式
阿新 • • 發佈:2018-11-13
模板方法模式:定義一個操作中的 演算法的骨架,而將一些步驟延遲到子類中,模板方法使得子類可以不改變一個演算法 的結構即可重定義該演算法的某些特定步驟
用途:當我們要完成在某一細節層次一致的一個過程或一系列步驟,但其個別步驟在更詳盡的層次上的思想可能不同時我們通常考慮用模板方法模式來處理。
模板方法模式的類圖:
public abstract class AbstractClass { public abstract void PrimitiveOperation1(); public abstract void PrimitiveOperation2(); public void TempalteMethhod() { PrimitiveOperation1(); PrimitiveOperation2(); } } public class ConcreteClass1 extends AbstractClass { @Override public void PrimitiveOperation1() { System.out.println("ConcreteClass1的Operation1方法"); } @Override public void PrimitiveOperation2() { System.out.println("ConcreteClass1的Operation2方法"); } } public class ConcreteClass2 extends AbstractClass { @Override public void PrimitiveOperation1() { System.out.println("ConcreteClass2的Operation1方法"); } @Override public void PrimitiveOperation2() { System.out.println("ConcreteClass2的Operation2方法"); } } public class Client { public static void main(String[] args) { AbstractClass cc1=new ConcreteClass1(); AbstractClass cc2=new ConcreteClass2(); cc1.TempalteMethhod(); cc2.TempalteMethhod(); } }