關於一個建立型模式的討論:
關於一個建立型模式的討論:
我在構造一個web framework時,定義action其實就是struts的action,
當然他也是command模式。我在建立它時使用以下模式,
目前假設有兩個action
public class loginAction extends action{
}
public class logoutAction extends action{
}
當初我使用了簡單工廠方法,根據請求的urlpath動態建立,
public class actionFactory{
public static action(string urlpath){
if (urlpath.equal("")){
return loginAction();
}else if (urlpath.equal("")){
return logoutAction();
}
}
}
這個工廠方法,每次都建立新的action,效能不好,我們希望香struts一樣使用cache,
於是我們改為,可以使用每次建立新的action,也可以使用cache建立,並且可以配置,
甚至客戶可以二次開發,實現自己的工廠方法,只需實現一個介面,如下:
//定義建立介面
public interface actionFactory{
public action(string urlpath);
}
//每次都建立新的action
public class newActionFactory implements actionFactory{
public action(string urlpath){
if (urlpath.equal("")){
return loginAction();
}else if (urlpath.equal("")){
return logoutAction();
}
}
}
//使用cache建立模式。
public class cacheActionFactory implements actionFactory{
Hashmap cache=new HashMap();
public action(string urlpath){
if (urlpath.equal("..")){
if(cache.get("..')){
return (Action)cache.get("..')
} else{
Action obj=new loginAction();
cache.put("",obj );
retunrn obj;
}
}else if (urlpath.equal("")){
//省略
}
}
}
這樣我們提供一個配置檔案,客戶可以動態決定使用那種工廠方式,來建立action,
如下:
actionFactory=cacheActionFactory;
這種方式我使用了,現在我不知道,這到底屬於那種模式,
是工廠方法,還是抽象工廠,它們都不像??
我認為是 工廠方法,但是有的同時認為,不是?
可以參考設計模式的73頁,引數化工廠方法??
大家可以討論?
相關文章
- 一個關於月球車的筆試題--求討論筆試
- 關於 Angular 裡 module 和 Component 包含粒度的一個討論Angular
- 關於BSS資料化轉型的幾點討論
- 關於IC設計的一次討論
- 關於 WebRTC API navigator.mediaDevices.getUserMedia 返回型別的討論WebAPIdev型別
- 關於網站設計的一點點討論網站
- 關於神經網路的討論神經網路
- 關於下一代安全防護的討論
- 關於分類的線性模型的討論模型
- 一個關於組織學員學習技術的筆試題--求討論筆試
- 2018.03.05 Android 記一次關於Fragment生命週期的討論。AndroidFragment
- 關於 Angular 應用 Module 的 forRoot 方法的討論Angular
- Hibernate 一個更新問題的 討論
- [提問交流]關於onethink模型這塊的討論模型
- 《快速排序》引發關於演算法的討論排序演算法
- 關於 appium 獲取不到 toast 訊息的討論APPAST
- 關於 Service Worker 和 Web 應用對應關係的討論Web
- 關於 performSelector 的一些小探討performSelector
- 關於撲克牌的一些討論——《Fluent Python 2》讀書筆記Python筆記
- 討論個有關模組化設計的問題
- 設計模式(一)建立型之單例模式設計模式單例
- K君關於“IT 新人就業方向問題“討論就業
- 關於動態配置表檢查工具 (討論帖)
- 玩家是否需要“自由”——關於“遊戲策略自由度”的討論遊戲
- 關於JS更新input元素的value屬性引發的狗血討論JS
- 關於“斯金納箱”及相關理論在遊戲設計中應用的討論遊戲設計
- 面試場景題:一次關於執行緒池使用場景的討論。面試執行緒
- 聊一聊設計模式(二)-- 建立型設計模式設計模式
- 關於5G被激烈討論的那些爭端和衝突
- 關於雲流化系統-實時雲渲染延時性的討論
- 建立型-原型模式原型模式
- 關於 B 端&C 端功能通用測試規則討論
- 關於《絕區零》,我們還能討論些什麼?
- 關於ASM的一些理論ASM
- 關於python中slicing的探討Python
- 關於在 Angular 應用裡重複呼叫 RouterModule.forRoot(ROUTES) 的討論Angular
- 設計模式-建立型-單例模式設計模式單例
- [iOS Monkey 討論帖] 整套新的 fastmonkey 討論iOSAST
- 關於結構體中指標的一些探討結構體指標