設(shè)計(jì)模式4.3 模板方法模式

字節(jié)跳動(dòng)飛書(shū)內(nèi)推!
北京、杭州、武漢、廣州、深圳、上海,六大城市等你來(lái)投。
感興趣的朋友可以私我咨詢&內(nèi)推,也可以通過(guò)鏈接直接投遞
海量HC,極速響應(yīng),快來(lái)和我成為同事吧。
今日頭條、抖音、Tik Tok也可以內(nèi)推~

點(diǎn)擊進(jìn)入我的博客

1 簡(jiǎn)介

模版方法模式是類的行為模式。準(zhǔn)備一個(gè)抽象類,將部分邏輯以具體方法以及具體構(gòu)造子的形式實(shí)現(xiàn),然后聲明一些抽象方法來(lái)迫使子類實(shí)現(xiàn)剩余的邏輯。不同的子類可以以不同的方式實(shí)現(xiàn)這些抽象方法,從而對(duì)剩余的邏輯有不同的實(shí)現(xiàn)。這就是模版方法模式的用意。模版方法模式是基于繼承的代碼復(fù)用的基本技術(shù),模版方法模式的結(jié)構(gòu)和用法也是面向?qū)ο笤O(shè)計(jì)的核心。

2 結(jié)構(gòu)

模版方法

3 例子

HttpServlet

4 模板方法中的方法

模板方法

一個(gè)模版方法是定義在抽象類中的,把基本操作方法組合在一起形成一個(gè)總算法或個(gè)總行為的方法。這個(gè)模版方法一般會(huì)在抽象類中定義,并由子類不加以修改地完全繼承下來(lái)。一個(gè)抽象類可以有任意多個(gè)模版方法,而不限于一個(gè)。每個(gè)模版方法都可以調(diào)用任意多個(gè)具體方法基本方法。

基本方法

基本方法又可以分為三種:抽象方法( Abstract method)、具體方法( Concrete method)和鉤子方法( Hook Method)。

  • 抽象方法:一個(gè)抽象方法由抽象類聲明,由具體子類實(shí)現(xiàn)。在Java語(yǔ)言里一個(gè)抽象方法以 abstract關(guān)鍵字標(biāo)示出來(lái)。
  • 具體方法:一個(gè)具體方法由抽象類聲明并實(shí)現(xiàn),而子類并不實(shí)現(xiàn)或置換。有些具體方法可以起到工廠方法的作用,這樣的具體方法又叫做工廠方法。在Java語(yǔ)言里面,一個(gè)具體方法沒(méi)有 abstract關(guān)鍵字。
  • 鉤子方法:一個(gè)鉤子方法由抽象類聲明并實(shí)現(xiàn),而子類會(huì)加以擴(kuò)展。通常抽象類給出的實(shí)現(xiàn)是一個(gè)空實(shí)現(xiàn),作為方法的默認(rèn)實(shí)現(xiàn)。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 【學(xué)習(xí)難度:★★☆☆☆,使用頻率:★★★☆☆】直接出處:模板方法模式梳理和學(xué)習(xí):https://github.co...
    BruceOuyang閱讀 845評(píng)論 0 2
  • 設(shè)計(jì)模式匯總 一、基礎(chǔ)知識(shí) 1. 設(shè)計(jì)模式概述 定義:設(shè)計(jì)模式(Design Pattern)是一套被反復(fù)使用、多...
    MinoyJet閱讀 4,094評(píng)論 1 15
  • 本篇文章介紹一種設(shè)計(jì)模式——外觀模式。本篇文章內(nèi)容參考:《JAVA與模式》之模板方法模式,模板方法模式深度解析(三...
    Ruheng閱讀 1,085評(píng)論 0 6
  • 上一篇:017-設(shè)計(jì)模式二:適配器模式(Adapter) 一、說(shuō)白了 所謂模板方法模式,說(shuō)白了就是:例如我請(qǐng)客吃飯...
    AncientMing閱讀 446評(píng)論 1 1
  • 到了一定的年齡,人就開(kāi)始害怕,害怕黑夜,害怕失去,害怕孤單。可這一切,都是很正常的一個(gè)自然規(guī)律,人們因?yàn)榕d趣...
    厭氧君不得閱讀 217評(píng)論 0 1

友情鏈接更多精彩內(nèi)容