大家還記得在學校時候老師讓我們抄試題做的經歷吧,有時候自己都會抄錯,免不了老師一頓批評,照著抄
都會抄錯。後來老師收錢用於影印機之後就沒這些問題了吧,一人乙份,留個寫答案的地方,大家寫上自己的答
案就行。不用再擔心老師批評沒長眼睛,抄都會抄錯的問題。這個在設計模式裡面就叫模板方法模式,老師給的
試卷就是乙個模板,去影印店影印多份,這些影印的試卷就是乙個個的實現,學生寫上姓名,答卷就行了。
* 試卷模板類
*/public
abstract
class
jinyongtest*****
public
void
setname(string name)
public
void
select1()
public
void
select2()
public
abstract string answer1();
public
abstract string answer2();
}/**
* 學生a類
*/public
class
studenta
extends
jinyongtest*****
@override
public string answer2()
}/**
* 學生b類
*/public
class
studentb
extends
jinyongtest*****
@override
public string answer2()
}測試**:
/** * 測試類
模板方法定義了乙個框架,而其中具體的實現細節留到子類去實現,這樣可以使得乙個類不用去改變框架就可以實現
某些特定的地方,比如spring中的解析xml檔案的**中就用到模板方法,你可以去自定義實現自己的一些解析步驟,去
實現一些自定義的檔案解析。
設計模式之模板方法設計模式
父類抽象出子類共有的方法,子類實現各自不同的業務。總之就是一種行為有他們共同的方法,只是他們具體的實現不一樣。比如開車這種行為模式,啟動 換擋 踩油門。每種型號品牌的車都有共同的行為,但是不同型號品牌的車的實現方式可能不同,需要每個品牌型號的車自己實現這些功能。這樣的定義上面行為的模式,稱之為模板方...
模板設計模式 PHP設計模式之模板方法模式
模板方法模式,也是我們經常會在不經意間有會用到的模式之一。這個模式是對繼承的最好詮釋。當子類中有重複的動作時,將他們提取出來,放在父類中進行統一的處理,這就是模板方法模式的最簡單通俗的解釋。就像我們平時做專案,每次的專案流程實都差不多,都有調研 開發 測試 部署上線等流程。而具體到每個專案中,這些流...
設計模式之模板方法模式
定義 定義乙個操作中演算法的框架,而將一些步驟延遲到子類中,使得子類可以不改變演算法的結構即可重定義該演算法中的某些特定步驟 型別 行為類模式 事實上,模板方法是程式設計中乙個經常用到的模式。比如,給定乙個整數陣列,把陣列中的數由大到小順序,然後把排序之後的結果列印出來。這個需求大體可以分為兩部分,...