23種設計模式 06模板方法模式

2021-10-24 16:48:30 字數 2491 閱讀 4115

模板方法模式太簡單,我都感覺不像乙個設計模式,這個模式沒有學過設計模式的同學也可能非常容易的想到,並寫出來,那麼下面,我的簡單的舉個例子吧!uml圖就不用畫了

小明小紅

cpur5

i7記憶體條

16g16g

顯示卡gtx-1650

集顯硬碟

500g

500g

此時,我們發現,配置過程中,除了硬體引數不一樣,其他的都可以按照模板去配就可以了,**如下:

public

abstract

class

assemblycomputer

abstract string getcpu()

;abstract string getmemory()

;abstract string getharddisk()

;abstract string getgpu()

;}

class

xmassemblycomputer

extends

assemblycomputer

@override

string getmemory()

@override

string getharddisk()

@override

string getgpu()

}

class

xhassemblycomputer

extends

assemblycomputer

@override

string getmemory()

@override

string getharddisk()

@override

string getgpu()

}

system.out.

println

("******************************小明的電腦****************************************===");

xmassemblycomputer xmassemblycomputer =

newxmassemblycomputer()

; xmassemblycomputer.

assembly()

; system.out.

println

("******************************====小紅的電腦***********************************===");

xhassemblycomputer xhassemblycomputer =

newxhassemblycomputer()

; xmassemblycomputer.

assembly()

;

==

====

====

====

====

====

====

====小明的電腦==

====

====

====

====

====

====

====

====

====

====

=去電腦城…………………………

購買cpu為:r5

購買記憶體條為:16g

購買硬碟為:500g

購買顯示卡為:gtx-

1650

購買其他硬體……………………

組裝中………………………………

安裝作業系統………………………………

====

====

====

====

====

====

====

====

==小紅的電腦==

====

====

====

====

====

====

====

====

====

去電腦城…………………………

購買cpu為:r5

購買記憶體條為:16g

購買硬碟為:500g

購買顯示卡為:gtx-

1650

購買其他硬體……………………

組裝中………………………………

安裝作業系統………………………………

模板方法模式可以用在,你的多個演算法或者類,相似度非常高,但只有細微的差別時,可以考慮使用模板方法,將不同的地方提出來,當做抽象方法,由子類實現

是不是感覺模板方法模式是最簡單的設計模式了,簡單的都不像設計模式,不要慌,還有更簡單的設計模式,那就是原型模式

23種設計模式 模板方法模式

參考文件 通常叫模板方法模式定義乙個演算法的骨架,並允許子類為乙個或者多個步驟提供實現。能夠使得子類可以在不改變演算法結構的情況下,重新定義演算法的某些步驟。屬於行為性設計模式 一次性實現乙個演算法的不變的部分,並將可變的部分交給子類來實現 各子類中公共的行為被提取出來並集中到乙個公共的父類當中,從...

23種設計模式 14 模板方法模式

第一種實現 抽象類 第一種實現 抽象類 public abstract class makefood public void pouroil public void waitoilhot 具體往鍋裡倒哪個菜,交給子類,子類必須實現 public abstract void pourfood publ...

23種設計模式 模板模式

在軟體構建過程中,對於某一項任務,它常常有穩定的整體操作結構,但各個子步驟卻有很多改變的需求,或者由於固有的原因 比如說框架與應用之間的關係 而無法和任務的整體結構同時實現。如何在確定穩定操作的前提下,來靈活應對各個子步驟的變化或者晚期的需求?定義乙個操作中的演算法的骨架 穩定 而將一些步驟延遲 變...