Java設計模式之模板模式

2021-09-10 02:50:52 字數 1706 閱讀 8256

從名字上看模板模式與元型模式有點像,但實際上它們有很大的不同。

元型模式是建立系列中的模式,它的實現是先為類建立乙個例項,然後對這個例項進行初化,並當成是元型。以後再需要這個類的例項時,不再是從頭開始new,而是從已有的元型clone。當然,元型可能不只乙個,這個時候就要用集合類進行管理了,在clone之前先去集合裡查詢匹配的元型。

模板模式是行為系列中的模式。它的實現方式是在抽象類中定義乙個主方法,這個主方法定義呼叫其它方法的順序、邏輯,它就是模板。其它方法則在不同的擴充套件類中實現。

模板模式很簡單,但是專案開發中會經常遇到。

比如開發乙個負荷測試工具,無論測試的目標是什麼,連線伺服器------>按規定的次數、時間間隔向伺服器傳送訊息------>斷開與伺服器的連線這種邏輯是不會變的,這種情況下就可以使用模板模式,**如下:

package com.zhangxf.template;

abstract class mytest catch (interruptedexception e)

} disconnect();

} public abstract void connect();

public abstract void sendmessage();

public abstract void disconnect();

}class mytestmail extends mytest

@override

public void sendmessage()

@override

public void disconnect()

}class mytestweb extends mytest

@override

public void sendmessage()

@override

public void disconnect()

}public class templatepattern

}

執行結果:

connect to web server

send message to web server

send message to web server

send message to web server

send message to web server

send message to web server

send message to web server

send message to web server

send message to web server

send message to web server

send message to web server

disconnect with web server

test for mail server

connect to mail server

send message to mail server

send message to mail server

send message to mail server

send message to mail server

send message to mail server

disconnect with mail server

JAVA 設計模式之模板模式

模板模式 提供通用模板,高度抽象將通用演算法封裝,暴露子類物件特有演算法重寫。簡述直接上demo 通用模板類 package com.coamc.android.api.template version v 2.0.0 title bankte package com.coamc.android.a...

java設計模式之模板模式

模板模式是類的行為模式。準備乙個抽象類,將部分邏輯以具體方法以及具體建構函式的形式實現,然後宣告一些抽象方法來迫使子類實現剩餘的邏輯。不同的子類可以以不同的方式實現這些抽象方法,從而對剩餘的邏輯有不同的實現。這就是模板方法模式的用意。比如定義乙個操作中的演算法的骨架,將步驟延遲到子類中。模板方法使得...

設計模式 Java設計模式之模板方法模式

本文源自 人生之旅 諳憶的部落格 我們先這樣來想象乙個生活中的場景,就是我們在銀行櫃檯進行辦理業務的時候,會進行這幾步 step1 進門取號 step2 填寫單據 step3 等待叫號 step4 視窗辦理 在這裡,無論是你我還是他 她,都會遵循這個模板進行業務的辦理!我們具體看step2,銀行是無...