以下文字部分均為本人自己的想法與總結所以未必正確;
參考定義:定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟
優點:
1、封裝不變部分,擴充套件可變部分。
2、提取公共**,便於維護。
3、行為由父類控制,子類實現。
當我們要完成在某一細節層次一致的乙個過程或一系列步驟,但其中個別步驟在更詳細的層次上的實現可能不同時,我們通常考慮用模版方法模式來處理
<?php
// 金庸**考題試卷
class test*****
public function testquestion2()
public function testquestion3()
protected function answer1()
protected function answer2()
protected function answer3()
}// 學生甲抄的試卷
class test*****a extends test*****
protected function answer2()
protected function answer3()
}// 學生乙抄的試卷
class test*****b extends test*****
protected function answer2()
protected function answer3()
}// 客戶端**
echo "學生甲抄的試卷: \n";
$student = new test*****a();
$student->testquestion1();
$student->testquestion2();
$student->testquestion3();
echo "學生乙抄的試卷: \n";
$student2 = new test*****b();
$student2->testquestion1();
$student2->testquestion2();
$student2->testquestion3();
模板設計模式 PHP設計模式之模板方法模式
模板方法模式,也是我們經常會在不經意間有會用到的模式之一。這個模式是對繼承的最好詮釋。當子類中有重複的動作時,將他們提取出來,放在父類中進行統一的處理,這就是模板方法模式的最簡單通俗的解釋。就像我們平時做專案,每次的專案流程實都差不多,都有調研 開發 測試 部署上線等流程。而具體到每個專案中,這些流...
PHP設計模式之模板方法模式
模板方法模式,也是我們經常會在不經意間有會用到的模式之一。這個模式是對繼承的最好詮釋。當子類中有重複的動作時,將他們提取出來,放在父類中進行統一的處理,這就是模板方法模式的最簡單通俗的解釋。就像我們平時做專案,每次的專案流程實都差不多,都有調研 開發 測試 部署上線等流程。而具體到每個專案中,這些流...
設計模式之模板方法設計模式
父類抽象出子類共有的方法,子類實現各自不同的業務。總之就是一種行為有他們共同的方法,只是他們具體的實現不一樣。比如開車這種行為模式,啟動 換擋 踩油門。每種型號品牌的車都有共同的行為,但是不同型號品牌的車的實現方式可能不同,需要每個品牌型號的車自己實現這些功能。這樣的定義上面行為的模式,稱之為模板方...