《设计模式》-模板模式
玩物喪志啊!!!最近總想著玩,休息,結(jié)果又耽誤了半個月。。唉! 慚愧啊。
今天是設(shè)計模式的倒數(shù)第二個了。。 雖然前面的 忘得差不多了。不過等看完了 要進(jìn)行總復(fù)習(xí),再復(fù)習(xí),再回歸,再理解才算完。
模版模式,嗯!這個模式是所有模式中最簡單的了。
主要是? 有一個抽象類,將部分邏輯以具體方法以及具體構(gòu)造子的形式實現(xiàn),然后聲明一些抽象的方法來迫使子類去實現(xiàn)剩余的邏輯。不同的子類可以以不同的方式實現(xiàn)這些抽象方法,從而對剩余的邏輯有不同的實現(xiàn),這就是模版模式的用意。
結(jié)構(gòu)圖:
抽象模板(AbstractClass):定義了一個或多個抽象操作,以便讓子類實現(xiàn),這些抽象操作叫做基本操作,他們是一個頂級邏輯的組成步驟。定義并實現(xiàn)了一個模板方法,這個模板方法一般是一個具體方法,它給出了一個頂級邏輯的骨架,而邏輯的組成步驟在相應(yīng)的抽象操作中,推遲到子類實現(xiàn),頂級邏輯也有可能調(diào)用一些具體方法。
具體模板(ConcreteClass):實現(xiàn)父類所定義的一個或多個抽象方法,他們是一個頂級邏輯的組成步驟。每一個抽象模板角色都可以有任意多個具體模板角色與之對應(yīng),而每一個具體模板角色都可以給出這些抽象方法的不同實現(xiàn),從而使得頂級邏輯的實現(xiàn)各不相同。
這就是模板模式拉,總結(jié)一下:一個抽象基類定義好一個模版,里面已經(jīng)有執(zhí)行邏輯,只是提供了幾個需要子類自己去實現(xiàn)的抽象方法。然后就可以按照模板的業(yè)務(wù)邏輯進(jìn)行執(zhí)行了。
轉(zhuǎn)載于:https://www.cnblogs.com/zyj469470971/p/3268807.html
總結(jié)
以上是生活随笔為你收集整理的《设计模式》-模板模式的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Spark源码分析 -- Schedul
- 下一篇: MVC.Net: jqueryval错误