/*** 模組模式
* @author
tmac-j
* 將乙個完整的演算法分離,分成不同的模組
* 用於有很多步驟的時候,可能以後這些步驟還會增加,把這些步驟分離
* 將有共性的部分放在抽象類中
* 避免**重複
* 有利於演算法擴充套件
* 假設這個演算法是人,人具有的共性是早上起來穿衣服,吃飯,工作 */
public
class
templatemethod
}public
class teacher extends
person
@override
void
eat()
@override
void
work()
//老師獨有的備課環節,擴充套件了這個步驟
public
void
prepare()
}public
class student extends
person
@override
void
eat()
@override
void
work()
}public
void
test()
}
Template Method 模板模式
模式定義 定義乙個操作中的演算法的骨架,而將一些步驟延遲到子類中,從而使得子類可以不改變乙個演算法的結構即可重定義該演算法的某些特定步驟。使用方法 各子類中公共的方法提煉出來,集中到父類中定義。而不同的子類所特有的方法,可以通過繼承父類的方法在內部自定義。使用範圍 多個子類存在共通的方法,個別的方法...
設計模式 template method
1 定義乙個操作中演算法的骨架,將一些步驟推遲到子類中實現。可以不改變演算法的結構而重定義該演算法的步驟 2 要完成在某乙個細節層次一致的乙個過程或一系列步驟,但其個別步驟在更詳細的層次上的實現可能不同。3 允許定義可變的子步驟,同時保持基本過程不致 4 由乙個抽象類組成,這個抽象類定義了需要覆蓋的...
模板模式 Template Method
定義 模板方法模式準備乙個抽象類,將部分邏輯以具體方法以及具體構造子的形式實現,然後宣告一些抽象方法來迫使子類實現剩餘的邏輯。不同的子類可以以不同的方式實現這些抽象方法,從而對剩餘的邏輯有不同的實現。先制定乙個頂級邏輯框架,而將邏輯的細節留給具體的子類去實現。開閉原則是指乙個軟體實體應該對擴充套件開...