比較詳細的資料:
二、通用uml圖:
三、通用**:
package 模板模式通用;
//抽象類
public abstract class abstractclass
}//具體子類1
public class concreteclass1 extends abstractclass
@override
public void doanything()
}//具體子類2
public class concreteclass2 extends abstractclass
@override
public void doanything()
}//情景類
public class client
}
示例:
幾乎所有的應用系統,都需要系統登入控制的功能,有些系統甚至有多個登陸控制的功能。
以乙個基於
web的企業級應用系統為例,有管理員和普通員工兩種方式。
思考:兩部分分別實現就不說了,「不好想到」。然後考慮兩種登陸方式大同小異,所以可以抽象出相同的地方,即登陸流程可以做成乙個模板類。。。
示例2:
咖啡與茶的沖泡。
抽象模板類:
package 衝咖啡;
public abstract class abstractdrink
public abstract void flush();
public abstract void put();
public abstract void addsugar();
public void start()
}
沖茶具體實現類:
package 衝咖啡;
public class tea extends abstractdrink
@override
public void put()
@override
public void addsugar()
}
衝咖啡具體實現類:
package 衝咖啡;
public class coffe extends abstractdrink
@override
public void put()
@override
public void addsugar()
}
場景類:
public class client
}
感想:
模板類本身概念挺簡單,也經常不知不覺的使用,注意的是模板模式體現了好萊塢原則。
ps:注意好萊塢法則、控制倒轉(ioc)、反射、依賴注入的關係。。。
the end;
模板設計模式 設計模式 模板方法模式
在模板模式 template pattern 中,乙個抽象類公開定義了執行它的方法的方式 模板。它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方式進行。這種型別的設計模式屬於行為型模式。首先需要一定抽象的定義,沒有具體的實現,但是在抽象類的行為中,子類去程序這個抽象類,重寫抽象方法,實現不...
模板設計模式 設計模式之模板模式
模板模式,通常又叫做模板方法模式,乙個抽象類公開定義了執行方法的模板,它的子類可以按需要重寫方法實現,但呼叫將以抽象類中定義的方法進行,這種型別的設計模式屬於行為型模式。模板模式主要解決將通用的演算法抽象起來,同樣的 邏輯出現了重複,就可以使用模板模式進行重構。關鍵 在抽象類實現,其他步驟在子類實現...
設計模式 模板設計模式
1 抽象類 abstractclass類中實現了模板方法 template 定義了演算法的骨架,具體子類需要去實現,抽象方法operationr2,3,4 template operationr2,3,4可以是抽象方法,也可以是實現方法 如果是抽象方法,需要到子類實現即可 2 實現類 concret...