下載本文檔
版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
第Java行為型設(shè)計(jì)模式之模板方法詳解目錄模板方法模式應(yīng)用場(chǎng)景主要角色優(yōu)缺點(diǎn)模板方法模式的基本使用創(chuàng)建抽象模板角色創(chuàng)建具體實(shí)現(xiàn)客戶端調(diào)用
模板方法模式
模板方法模式屬于行為型設(shè)計(jì)模式。它是指定義一個(gè)操作中的算法的框架,而將一些步驟延遲到子類中。使得子類可以不改變一個(gè)算法的結(jié)構(gòu)即可重定義該算法的某些特定步驟。
模板方法模式實(shí)際上是封裝了一個(gè)固定流程,該流程由幾個(gè)步驟組成,具體步驟可以由子類進(jìn)行不同實(shí)現(xiàn),從而讓固定的流程產(chǎn)生不同的結(jié)果。
模板方法模式的本質(zhì)是抽象封裝流程,具體進(jìn)行實(shí)現(xiàn)。
應(yīng)用場(chǎng)景
當(dāng)完成一個(gè)操作具有固定的流程時(shí),由抽象固定流程步驟,具體步驟交給子類進(jìn)行具體實(shí)現(xiàn)(固定的流程,不同的實(shí)現(xiàn))。
1.實(shí)現(xiàn)一個(gè)算法的不變的部分(子類共有方法),將可變的行為留給子類來(lái)實(shí)現(xiàn)。
2.各子類中公共的行為被提取出來(lái)并集中到一個(gè)公共的父類中,以而避免代碼重復(fù)。
比如:入職資料的填寫(xiě),通常會(huì)有一系列的流程,只需要按照流程規(guī)則一步一步做即可。是目標(biāo)方法模式的體現(xiàn)。
主要角色
1.抽象模板(AbstractClass)
抽象模板類,定義了一套算法框架/流程。
2.具體實(shí)現(xiàn)(ConcreteClass)
具體實(shí)現(xiàn)類,對(duì)算法框架/流程的某些步進(jìn)行了實(shí)現(xiàn)。
優(yōu)缺點(diǎn)
1.將相同處理邏輯代碼放到抽象父類中,提高代碼的復(fù)用性。
2.將不同代碼放到不同子類中,通過(guò)對(duì)子類的擴(kuò)展增加新的行為,提高代碼的擴(kuò)展性。
3.把不變的行為寫(xiě)在父類上,去除子類的重復(fù)代碼,提供了一個(gè)很好的代碼復(fù)用平臺(tái),符合開(kāi)閉原則
缺點(diǎn)
1.類數(shù)目的增加,每個(gè)抽象類都需要一個(gè)子類來(lái)實(shí)現(xiàn),這樣導(dǎo)致類的個(gè)數(shù)增加。
2.類數(shù)量的增加,間接地增加了系統(tǒng)實(shí)現(xiàn)的復(fù)雜度。
3.繼承關(guān)系自身缺點(diǎn),如果父類添加新的抽象方法,所有子類都要改一遍。
模板方法模式的基本使用
創(chuàng)建抽象模板角色
publicabstractclassAbstractClass{
protectedvoidstep1(){
System.out.println("AbstractClass:step1---準(zhǔn)備入職材料");
protectedvoidstep2(){
System.out.println("AbstractClass:step2---填寫(xiě)入職登記信息");
protectedvoidstep3(){
System.out.println("AbstractClass:step3---簽訂勞動(dòng)合同");
protectedvoidstep4(){
System.out.println("AbstractClass:step4---辦理工牌,安排工位");
publicfinalvoidtemplateMehthod(){
this.step1();
this.step2();
this.step3();
this.step4();
}
創(chuàng)建具體實(shí)現(xiàn)
publicclassConcreteClassAextendsAbstractClass{
@Override
protectedvoidstep1(){
System.out.println("ConcreateClassA:step1---普通員工準(zhǔn)備入職材料");
publicclassConcreteClassBextendsAbstractClass{
@Override
protectedvoidstep1(){
System.out.println("ConcreateClassA:step1---關(guān)系戶準(zhǔn)備入職材料");
客戶端調(diào)用
publicstaticvoidmain(String[]args){
System.out.println("--------------普通人入職------------");
AbstractClassabcA=newConcreteClassA();
abcA.templateMehthod();
System.out.println("--------------關(guān)系戶入職------------");
AbstractClassabcB=newConcreteClassB();
abcB.step3();
abcB.step4();
--------------普通人入職------------
ConcreateClassA:step1---普通員工準(zhǔn)備入職材料
AbstractClass:step2---填寫(xiě)入職登記信息
AbstractClass:step3---簽訂勞動(dòng)合同
AbstractClass:step4---辦理工牌,安排工位
--------------關(guān)系戶入職------------
ConcreateClassA:step1-
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 辦公室員工培訓(xùn)課程更新制度
- 2026年及未來(lái)5年中國(guó)插件加工市場(chǎng)供需格局及未來(lái)發(fā)展趨勢(shì)報(bào)告
- 2026年及未來(lái)5年中國(guó)工業(yè)設(shè)備安裝行業(yè)市場(chǎng)前景預(yù)測(cè)及投資戰(zhàn)略研究報(bào)告
- 2026年及未來(lái)5年中國(guó)視盤機(jī)市場(chǎng)運(yùn)行態(tài)勢(shì)及行業(yè)發(fā)展前景預(yù)測(cè)報(bào)告
- 快樂(lè)童話之我與小動(dòng)物的故事作文9篇
- 2026及未來(lái)5年中國(guó)家用太陽(yáng)能發(fā)電行業(yè)市場(chǎng)運(yùn)行態(tài)勢(shì)及發(fā)展趨向研判報(bào)告
- 2026年及未來(lái)5年中國(guó)麥芽糖醇行業(yè)市場(chǎng)調(diào)查研究及投資潛力預(yù)測(cè)報(bào)告
- 2026及未來(lái)5年中國(guó)透明陶瓷行業(yè)市場(chǎng)供需態(tài)勢(shì)及投資前景研判報(bào)告
- 2026及未來(lái)5年中國(guó)電機(jī)定子測(cè)試儀行業(yè)市場(chǎng)研究分析及發(fā)展趨向研判報(bào)告
- 企業(yè)廢水規(guī)范運(yùn)行制度
- 蘇教版六年級(jí)上冊(cè)科學(xué)期末模擬試題
- 中國(guó)武術(shù)段位制概要(示范提綱)
- 校園傳染病預(yù)防主題班會(huì)PPT
- 激光原理習(xí)題解答完整版-周炳琨
- 項(xiàng)目2:復(fù)利終值地計(jì)算
- 新材料、生物緩沖劑及配套工程B3車間產(chǎn)品優(yōu)化調(diào)整項(xiàng)目環(huán)評(píng)報(bào)告書(shū)
- 汽車美容裝潢工(四級(jí))職業(yè)資格考試題庫(kù)-上(單選題匯總)
- 戲劇專業(yè)常用詞匯中英文對(duì)照
- 國(guó)開(kāi)生命健康學(xué)院《中藥炮制》形成性考核一答卷
- 最新部編版四年級(jí)語(yǔ)文下冊(cè)第一單元課件
- 資金時(shí)間價(jià)值-課件
評(píng)論
0/150
提交評(píng)論