1. 程式人生 > 其它 >設計模式之模板方法模式(簡單瞭解)

設計模式之模板方法模式(簡單瞭解)

技術標籤:設計模式Java學習筆記

設計模式之模板方法模式

模式定義:模板方法(Template Method)用來定義演算法的框架,將演算法中可變的步驟定義為抽象方法,交給子類來實現或重寫。
使用模板方法的好處

1.避免程式碼冗餘。演算法不可變的部分由模板方法定義,所有子類均可複用,可以避免子類重複定義相同的程式碼

2.提高程式碼穩定性。演算法的可變部分是不穩定的。將不穩定的步驟定義為抽象方法,交給子類去實現。模板方法依賴於抽象方法,能保證演算法框架的穩定性

使用場景

1.當演算法中含有可變步驟和不可變步驟時,讓子類決定可變步驟的實現方式

2.當多個類中含有公共的業務行為,開發人員想要避免重複定義相同的程式碼

3.想么控制子類的擴充套件行為,只允許子類實現特性的擴充套件點

java程式碼:

public class TemplateMethod {
    public static void main(String[] args) {
        Temp temp =new TempImpl();
        //呼叫模板方法
        temp.check();
    }
}
//模板類
abstract class Temp{
    //模板方法
    public final void check(){
        steps1();
        steps2();
        steps3
(); steps4(); } //步驟一 private void steps1(){ System.out.println("模板方法步驟一"); } //步驟二 private void steps2(){ System.out.println("模板方法步驟二"); } //步驟三(定義為抽象方法,交給子類實現或重寫) protected abstract void steps3(); //步驟四 private void steps4
(){ System.out.println("模板方法步驟四"); } } //子類實現 class TempImpl extends Temp{ @Override protected void steps3() { System.out.println("子類實現的步驟"); } }

執行結果:
在這裡插入圖片描述