模板模式:提供通用模板,高度抽象將通用演算法封裝,暴露子類物件特有演算法重寫。簡述直接上demo
通用模板類:
package com.coamc.android.api.template;/***
@version
v:2.0.0
*@title
bankte
*@package
com.coamc.android.api.template
*@description:
*@date
2016/9/18 11:11
*/public abstract class bankflow
outbank();
} //
鉤子方案
,處理不同客戶不同行為需求
protected boolean
isremark()
protected void
remark()
protected void
queue()
protected abstract void
drawoutcash();
protected void
inbank()
protected void
outbank()
}
子類1:
package com.coamc.android.api.template;/***
@version
v:2.0.0
*@title
zhangsantakemoney
*@package
com.coamc.android.api.template
*@description:
*@date
2016/9/18 11:19
*/public class
lisitakemoney
extends bankflow
}
子類2:
package com.coamc.android.api.template;/***
@version
v:2.0.0
*@title
zhangsantakemoney
*@package
com.coamc.android.api.template
*@description:
*@date
2016/9/18 11:19
*/public class zhangsantakemoney extends bankflow
@override
protected boolean
isremark()
}
測試demo
package com.coamc.android.api.template;/***
@version
v:2.0.0
*@title
temd
*@package
com.coamc.android.api.template
*@description:
*@date
2016/9/18 11:08
*/public class temd
}
執行結果:注意鉤子方法使用,改變演算法要求
哥進銀行了哥要排隊了
三哥我要取10w塊,我就是高富帥
哥出銀行了
------------*****--------------
哥進銀行了
哥要排隊了
四哥我要取1w塊,哥就是沒錢怎麼了
這個銀行服務太好了
哥出銀行了
java設計模式之模板模式
模板模式是類的行為模式。準備乙個抽象類,將部分邏輯以具體方法以及具體建構函式的形式實現,然後宣告一些抽象方法來迫使子類實現剩餘的邏輯。不同的子類可以以不同的方式實現這些抽象方法,從而對剩餘的邏輯有不同的實現。這就是模板方法模式的用意。比如定義乙個操作中的演算法的骨架,將步驟延遲到子類中。模板方法使得...
Java設計模式之模板模式
從名字上看模板模式與元型模式有點像,但實際上它們有很大的不同。元型模式是建立系列中的模式,它的實現是先為類建立乙個例項,然後對這個例項進行初化,並當成是元型。以後再需要這個類的例項時,不再是從頭開始new,而是從已有的元型clone。當然,元型可能不只乙個,這個時候就要用集合類進行管理了,在clon...
設計模式 Java設計模式之模板方法模式
本文源自 人生之旅 諳憶的部落格 我們先這樣來想象乙個生活中的場景,就是我們在銀行櫃檯進行辦理業務的時候,會進行這幾步 step1 進門取號 step2 填寫單據 step3 等待叫號 step4 視窗辦理 在這裡,無論是你我還是他 她,都會遵循這個模板進行業務的辦理!我們具體看step2,銀行是無...