設計模式之模版模式

2021-07-27 20:34:14 字數 2086 閱讀 7414

模板方法模式是類的行為模式。準備乙個抽象類,將部分邏輯以具體方法以及具體建構函式的形式實現,然後宣告一些抽象方法來迫使子類實現剩餘的邏輯。不同的子類可以以不同的方式實現這些抽象方法,從而對剩餘的邏輯有不同的實現。這就是模板方法模式的用意。

* 模版方法模式

* * 父類宣告抽象方法,子類做具體實現

* 父類引用指向子類實現, 呼叫具體子類的重寫方法

* */

public

class

main

}模板方法模式在servlet中的應用

使用過servlet的人都清楚,除了要在web.xml做相應的配置外,還需繼承乙個叫httpservlet的抽象類。httpservice類提供了乙個service()方法,這個方法呼叫七個do方法中的乙個或幾個,完成對客戶端呼叫的響應。這些do方法需要由httpservlet的具體子類提供,因此這是典型的模板方法模式。下面是service()方法的源**:

}當然,這個service()方法也可以被子類置換掉。

下面給出乙個簡單的servlet例子:

從上面的類圖可以看出,testservlet類是httpservlet類的子類,並且置換掉了父類的兩個方法:doget()和dopost()。

}從上面的例子可以看出這是乙個典型的模板方法模式。

httpservlet擔任抽象模板角色

模板方法:由service()方法擔任。

基本方法:由dopost()、doget()等方法擔任。

testservlet擔任具體模板角色

testservlet置換掉了父類httpservlet中七個基本方法中的其中兩個,分別是doget()和dopost()。

設計模式之 模版模式

在我們平時的編碼工作中,經常會有一些流程步驟基本相同,只是中間有部分細節不同的業務流程,比如我們自己要實現乙個基於redis快取的模版方法,在redis中存在指定值時,則返回redis中快取的資料 如果redis中不存在,則查詢db,並把查詢所得快取起來,並返回查詢所得。這個例子就是用模版模式再好不...

設計模式 模版模式

模板方法模式是類的行為模式。準備乙個抽象類,將部分邏輯以具體方法以及具體建構函式的形式實現,然後宣告一些抽象方法來迫使子類實現剩餘的邏輯。不同的子類可以以不同的方式實現這些抽象方法,從而對剩餘的邏輯有不同的實現。這就是模板方法模式的用意。模板類public abstract class templa...

JAVA設計模式 模版模式

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...