模板方法模式
模板方法模式,這個模式我想我們在學習c#的過程中老師總會時不時的用到該模型。就是將**中大量的重複**提取出來然後抽象出乙個模板的雛形類,該類主要為抽象類和虛方法,以便子類的重寫。這樣有助於我們寫出多個功能不同的模板。同時方便我們對有細微變化的**的重用,減少**量,降低出現錯誤的可能。
原型模式與模板方法模式的區別
原型模式與模板方法模式雖然都像是乙個模板,但是他們模板的本身是有區別的。
原型模式轉殖和更改的主要是字段,而原型模式更注重對**中字段的更改和重用。
而且模板方法模式是對方法體和**本身的重寫和重用。
所以我們的可以根據側重點的不同選擇性的使用兩種模板。
模板方法模式例子
第一步 建立父類模板,父類模板主要功能是建立一些抽象方法或者虛方法,讓子類實現,可以根據需求的不同可以編寫不同功能的子類。
abstract class abstractclass
}
第二步 建立子類模板 ,建立的子類的模板是對父類模板中必要功能的實現。class concreteclassa : abstractclass
public override void primtiveoperation2()
}
第三步客戶端**//將子類condreteclasa()賦值給父類,方便父類one呼叫子類的方法。
abstractclass one = new concreteclassa ();
one.templatemethod();
console.readkey();
模板方法模式總結
模板方式模式也是比較好理解的設計模式之一,結合實際例子理解,在飲料實際製作過程中,大體上會分為如下幾個大的步驟 1 加原料,2 燒水,3 加水,4 加工,5 混合。無非就是這幾個步驟,但是針對第一步和第四步中加入的原料和工序不同,也會產生不同的飲料。其實這就是模板模式的一種型別。下面給出模板模式的官...
設計模式總結之模板方法模式
模板方法模式 在乙個方法中定義乙個演算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以在不改變演算法結構的情況下,重新定義演算法中的某些步驟。關於模板方法在我們生活中數不勝數,像我們做一些事情需要按照一定順序來執行,像headfirst上的例子,星巴克沖泡咖啡的時候,先是把水煮沸,再是沸水沖...
模板方法模式
有這樣乙個場景 乙個演算法或流程,它的步驟以及步驟之間的順序是固定的,但具體的某一步可能有不同的實現。對於這麼乙個場景,可以建立多個類,各個類實現不同的實現,但是這樣的缺點是 易錯 難改,易錯 應為步驟和順序是固定的,而且在每個類中都要寫一遍,程式設計師怎有心情不好的時候,就有可能把其中某一步給寫錯...