五月天青色头像情侣网名,国产亚洲av片在线观看18女人,黑人巨茎大战俄罗斯美女,扒下她的小内裤打屁股

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊

第16章 模板方法模式

2022-02-20 12:05 作者:取悅疾風(fēng)  | 我要投稿

內(nèi)容來自尚硅谷Java設(shè)計(jì)模式(圖解+框架源碼剖析)_嗶哩嗶哩_bilibili

寫在前面:本文內(nèi)容大致和原視頻內(nèi)老師的筆記內(nèi)容相同,會(huì)偶爾插入自己的注釋和理解,盡量會(huì)完成作業(yè)

16.1豆?jié){制作問題

編寫制作豆?jié){的程序,說明如下:

1)????? 制作豆?jié){的流程選材--->添加配料--->浸泡--->放到豆?jié){機(jī)打碎通過添加不同的配料,可以制作出不同口味的豆?jié){

2)????? 選材、浸泡和放到豆?jié){機(jī)打碎這幾個(gè)步驟對(duì)于制作每種口味的豆?jié){都是一樣的

3)????? 請使用模板方法模式完成(說明:因?yàn)槟0宸椒J?,比較簡單,很容易就想到這個(gè)方案,因此就直接使用,不再使用傳統(tǒng)的方案來引出模板方法模式)

16.2模板方法模式的基本介紹

基本介紹

1)????? 模板方法模式(Termplate Method Pattern),又叫模板模式(Template Pattern),z在一個(gè)抽象類公開定義了執(zhí)行它的方法的模板。它的子類可以按需要重寫方法實(shí)現(xiàn),但調(diào)用將以抽象類中定義的方式進(jìn)行。

2)????? 簡單說,模板方法模式定義一個(gè)操作中的算法的骨架,而將一些步驟延遲到子類中,使得子類可以不改變一個(gè)算法的結(jié)構(gòu),就可以重定義該算法的某些特定步驟

3)????? 這種類型的設(shè)計(jì)模式屬于行為型模式。

16.3模板方法模式原理類圖

16.3.1模板方法模式原理類圖

對(duì)原理類圖的說明-即(模板方法模式的角色及職責(zé))

1)??????AbstractClass 抽象類,類中實(shí)現(xiàn)了模板方法(template),定義了算法的骨架,具體子類需要去實(shí)現(xiàn)其它的抽象方法operationr2,3,4

2)????? ConcreteClass 實(shí)現(xiàn)抽象方法operationr2,3,4,以完成算法中特點(diǎn)子類的步驟


16.4模板方法模式解決豆?jié){制作問題

1.應(yīng)用實(shí)例要求

編寫制作豆?jié){的程序,說明如下:

制作豆?jié){的流程選材--->添加配料--->浸泡--->放到豆?jié){機(jī)打碎通過添加不同的配料,可以制作出不同口味的豆?jié){

選材、浸泡和放到豆?jié){機(jī)打碎這幾個(gè)步驟對(duì)于制作每種口味的豆?jié){都是一樣的(紅豆、花生豆?jié){。。。)

2.思路分析和圖解(類圖)

3.代碼實(shí)現(xiàn)

16.5模板方法模式的鉤子方法

1)????? 在模板方法模式的父類中,我們可以定義一個(gè)方法,它默認(rèn)不做任何事,子類可以視情況要不要覆蓋它,該方法稱為“鉤子”。

2)????? 還是用上面做豆?jié){的例子來講解,比如,我們還希望制作純豆?jié){,不添加任何的配料,請使用鉤子方法對(duì)前面的模板方法進(jìn)行改造

3)????? 看老師代碼演示:

16.6模板方法模式在Spring框架中的源碼分析

1)????? Spring IOC容器初始化時(shí)運(yùn)用到的模板方法模式

2)????? 代碼分析+角色分析+說明類圖

針對(duì)源碼的類圖(說明了層次關(guān)系)

16.7模板方法模式的注意事項(xiàng)和使用細(xì)節(jié)

1)????? 基本思想是:算法只存在于一個(gè)地方,也就是在父類中,容易修改。需要修改算法時(shí),只要修改父類的模板方法或者已經(jīng)實(shí)現(xiàn)的某些步驟,子類就會(huì)繼承這些修改

2)????? 實(shí)現(xiàn)了最大化代碼復(fù)用。父類的模板方法和已實(shí)現(xiàn)的某些步驟會(huì)被子類繼承而直接使用。

3)????? 既統(tǒng)一了算法,也提供了很大的靈活性。父類的模板方法確保了算法的結(jié)構(gòu)保持不變,同時(shí)由子類提供部分步驟的實(shí)現(xiàn)。

4)????? 該模式的不足之處:每一個(gè)不同的實(shí)現(xiàn)都需要一個(gè)子類實(shí)現(xiàn),導(dǎo)致類的個(gè)數(shù)增加,使得系統(tǒng)更加龐大

5)????? 一般模板方法都加上final關(guān)鍵字,防止子類重寫模板方法.

6)????? 模板方法模式使用場景:當(dāng)要完成在某個(gè)過程,該過程要執(zhí)行一系列步驟,這一系列的步驟基本相同,但其個(gè)別步驟在實(shí)現(xiàn)時(shí)可能不同,通??紤]用模板方法模式來處理


第16章 模板方法模式的評(píng)論 (共 條)

分享到微博請遵守國家法律
永胜县| 潜江市| 潞西市| 涟水县| 射洪县| 穆棱市| 三亚市| 务川| 曲麻莱县| 武邑县| 海南省| 绍兴县| 昭平县| 汉川市| 大兴区| 栾城县| 南宫市| 刚察县| 仪陇县| 松滋市| 辽宁省| 阳春市| 吉安市| 新乡县| 吉林市| 哈巴河县| 炉霍县| 五华县| 沂源县| 随州市| 靖远县| 丹棱县| 尤溪县| 长岭县| 泽库县| 禄劝| 乐昌市| 响水县| 德化县| 南宫市| 高邑县|