更新時(shí)間:2020-04-09 13:41:02 來源:動(dòng)力節(jié)點(diǎn) 瀏覽2144次
顧名思義,模板設(shè)計(jì)模式就是將許多公用的常用的代碼封裝成一個(gè)模板,我們只需要實(shí)現(xiàn)不同的業(yè)務(wù)需求的代碼,然后和模板組合在一起,那么就得到完整的邏輯。
在我們的日常開發(fā)中,常用的模板模式有兩種實(shí)現(xiàn)方式:繼承和接口回調(diào),下面我們就分別使用這兩種方式來實(shí)現(xiàn)模板設(shè)計(jì)模式。
假設(shè)一個(gè)場景,有一段代碼如下所示:
publicvoiddoSomething(){
固定代碼片段
業(yè)務(wù)相關(guān)代碼
固定代碼片段
}
如果這段代碼在很多地方要使用,并且固定代碼比較多,業(yè)務(wù)相關(guān)代碼比較少,且比較集中,那么如果我們每次實(shí)現(xiàn)一個(gè)業(yè)務(wù)都寫下一個(gè)完整的流程,那么就會有很多重復(fù)代碼,使用模板設(shè)計(jì)模式可以很好的解決這一問題。
是用繼承的方式實(shí)現(xiàn):創(chuàng)建一個(gè)模板類,將模板代碼封裝:
我們需要使用模板的類只需要繼承這個(gè)模板類,并實(shí)現(xiàn)那個(gè)抽象方法,那么在調(diào)用doTemplet的時(shí)候,調(diào)用的業(yè)務(wù)邏輯代碼自然就是我們那個(gè)子類中的實(shí)現(xiàn)了,這樣就能實(shí)現(xiàn)不同的邏輯使用同一段代碼了。
使用回調(diào)的方式實(shí)現(xiàn),首先我們定義一個(gè)較為通用的接口:
publicinterfaceCallback<V,T>{
publicVdoSomething(Tt);
}
我們要使用模板的測試類:
這樣如果還有其他的代碼需要復(fù)用模板,那么直接調(diào)用useTemplet就可以了。
模板設(shè)計(jì)模式在框架的設(shè)計(jì)中使用比較多,例如springmvc的view就是一個(gè)典型的模板設(shè)計(jì)模式。
以上就是動(dòng)力節(jié)點(diǎn)java培訓(xùn)機(jī)構(gòu)的小編針對“Java基礎(chǔ)學(xué)習(xí):java設(shè)計(jì)模式視頻”的內(nèi)容進(jìn)行的回答,希望對大家有所幫助,如有疑問,請?jiān)诰€咨詢,有專業(yè)老師隨時(shí)為你服務(wù)。
初級 202925
初級 203221
初級 202629
初級 203743