
模板(Template method)
概念
模板模式是一種行為型模式,概念是定義一個物件的共用模板(框架),並提供模板內的基本運作功能及抽象方法,讓子模板可以專注在功能開發,整體在維護上也比較方便。
假設檢測系統內有很多種檢測的演算法,可以在這些演算法定義一個共用模板,讓呼叫演算法的系統只需要使用模板提供的方法即可,演算法的實作也只需要注意將結果返回到對應的屬性即可。
範例
//**************
//* author: cian
//* 20231112
//**************
/* Template */
abstract class InspectionTemplate
{
protected Parameter para;
protected bool result = false;
protected virtual SetParameter(Parameter _para)
{
para = _para;
}
protected virtual bool GetResult() { return result; }
protected abstract void DoInspection();
}
class AlgorithmA : InspectionTemplate
{
protected override void DoInspection()
{
if(para != null)
{
//Do Something...
//檢測演算法實作...
result = ture; //set inspect reult.
}
}
}
結語
透過將檢測邏輯的模板定義好,未來如果要新增或修改演算法只要覆寫DoInspection()的方法即可,不會影響及更動使用InspectionTemplate框架的任何系統。
以上為學習過程的問題紀錄
如果文章有誤,歡迎前輩留言請不吝指教。
發佈留言