国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學(xué)院 > 開發(fā)設(shè)計 > 正文

Spring中的Template和Callback模式

2019-11-17 06:04:41
字體:
供稿:網(wǎng)友

SPRing中的Callback模式與Template模式合用,隨處可見。Template method被廣泛的使用,像Servlet就是使用這個模式。Template mothod模式雖然能簡化很多重復(fù)的代碼,但這種模式的也有不少限制。

Template mothod將一個功能的實現(xiàn)分成許多小的步驟,在父類中定義了這些步驟的順序,讓子類來具體實現(xiàn)每一個小的步驟。這些小的步驟是protected,以防止用戶不正確的使用這些小的步驟而產(chǎn)生異常。這樣就產(chǎn)生了一個限制,那就是你需要繼續(xù)Template然后重新實現(xiàn)具體的小步驟。假如這個Template有許多方法,就像JdbcTemplate,假如你每次繼續(xù)這個龐大的類,然后只是重寫某個小步驟中來訂制你自己的功能,就會顯得非常粗笨,更何況數(shù)據(jù)庫操作使用的如此頻繁,難道你每進行一個操作就通過繼續(xù)訂制一個,顯然不可能這么做。

Spring使用Callback模式與之配合,達到了去掉重復(fù)代碼的效果,同時增加了很大的靈活性,你只需要實現(xiàn)某些CallBack就可輕松訂制出Template。

那么什么時候才是Callback模式與Template模式結(jié)合的最佳時機呢。顯然假如每個具體的步驟都需要真正去具體實現(xiàn)而不是簡單的改變參數(shù)或設(shè)置某個對象就ok的話,使用Callback很難去訂制,因為你可能需要傳遞多個Callback作為參數(shù),并讓用戶去實現(xiàn),是用java的內(nèi)部類本來就是一個比較丑陋的語法,更何況參數(shù)是多個。這相當于你把每個小步驟封裝成為接口,然后分別繼續(xù)之然后實現(xiàn)。顯然沒有達到方便靈活的效果,這時候直接使用Template method模式就比結(jié)合Callback要好。而假如用戶只需要定制一個方法能就達到用戶的要求,或者更簡單,只是設(shè)置不同的參數(shù),那么使用Callback就具有很好的靈活性。



發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 普定县| 陆河县| 康马县| 南汇区| 克什克腾旗| 张家界市| 宜都市| 元朗区| 洛浦县| 东兰县| 隆尧县| 织金县| 土默特左旗| 竹溪县| 嵊泗县| 仙游县| 清水河县| 遂宁市| 张掖市| 东台市| 盘锦市| 普兰店市| 北辰区| 当雄县| 内江市| 濮阳市| 华坪县| 光山县| 新宁县| 吉木萨尔县| 九龙城区| 湟中县| 嘉荫县| 阳谷县| 凌云县| 辽中县| 鄄城县| 兴化市| 颍上县| 木兰县| 长春市|