設(shè)計(jì)模式:模版模式
什么是模版模式?
模版方法(英文:Template Pattern),定義一個操作中的算法的框架,而將一些步驟延遲到子類中。使得子類可以不改變一個算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。

一句話歸納
流程標(biāo)準(zhǔn)化,自己實(shí)現(xiàn)定制
代碼示例
我們做開發(fā)的同學(xué),每天都會對數(shù)據(jù)庫進(jìn)行操作,我記得上大學(xué)那會我用的第一個數(shù)據(jù)庫是“SQL Server 2008”,大家第一次用的數(shù)據(jù)庫是哪個?可以在文章下方留言評論,看看有多少同學(xué)用的是一個數(shù)據(jù)庫。我記得那時候每天都要寫“獲取數(shù)據(jù)庫連接”、“創(chuàng)建預(yù)編譯語句集”、“執(zhí)行語句集”等等,后來每天都會把原來的代碼copy過來,因?yàn)楹芏喽际且粯拥?,再到后來用了很多操作?shù)據(jù)庫的框架,不用去管數(shù)據(jù)庫操作,只關(guān)心如何把sql語句寫好就好,充分減少了體力活,在這里現(xiàn)在我們在這里用模版方法寫一個操組數(shù)據(jù)庫的簡單架子。

適用性
以下我建議你考慮使用:
功能整體的流程固定,但其中只是一些微小的功能不同;
代碼重構(gòu)的時候經(jīng)常會用到模版方法,把共有的方法抽離出來;
重復(fù)、復(fù)雜的方法可以考慮模版方法,把復(fù)雜的核心的算法業(yè)務(wù)抽離出來,把邊角料留給子類實(shí)現(xiàn);
可以通過鉤子方法,改變模版的執(zhí)行結(jié)果。
局限性
以下我建議你謹(jǐn)慎使用:
子類會影響到父類的結(jié)果,在功能龐大的項(xiàng)目中,會增加代碼的復(fù)雜度,對新手不友好;
由于繼承的緣故,父類新增一個方法,每一個子類都需要修改。
寫在最后
最后,好兄弟,記得點(diǎn)贊,關(guān)注,謝謝。
