定義乙個操作中的演算法的骨架(穩定),而將一些步驟延遲(變化)到子類中。template method使得子類可以不改變(復用)乙個演算法的結構即可重定義(override 重寫)該演算法的某些特定步驟。
原開發任務分配:
通過template method設計後的開發任務分配:
程式庫開發人員開發模組**:
class
library
for(
int i =
0; i <
4; i++
)step5()
;}virtual
~library()
protected
:void
step1()
void
step3()
void
step5()
virtual
bool
step2()
=0;//變化
virtual
void
step4()
=0;//變化
};
應用程式開發人員開發模組**:
class
:public library
virtual
void
step4()
};intmain()
}
本專欄文章: JAVA 設計模式03 模板方法
模板方法,應用在流程相同,但是具體實現不同的場景中。它定義了乙個操作中的演算法骨架,但某些步驟的實現放在子類中實現,子類在不改變整體演算法結構的前提下,能夠重新定義演算法中的某些特定步驟。如 銀行的業務流程 取號 業務 評價 由父類決定整個的流程,子類只能改變部分特定的步驟 模板方法 author ...
03類模板
類模板 把通用類變成模板!template class 或 typename t class 類名 template class t class math 在類定義體外定義成員函式時,還需要類體外進行模板宣告 template class t class math 成員函式在外部實現 templat...
關於方法的過載03
package bisic public class testoverload03 private testoverload03 double c public static void main string args new testoverload03 null new testoverload...