03 2008 檔案
設計模式總結-Memento模式(二)
摘要: Memento模式和其它模式的結合應用:
一、“Mementor”模式和“堆棧”的結合-“GUI界面撤銷功能”的實現
二、“Mementor”模式和“Observer”模式的結合-“通知式恢復”
三、“Mementor”模式和“Observer”模式、“責任鏈”模式的結合-“鏈式通知恢復”
四、“Mementor”模式和“Flyweight”模式的結合:減少相同對象的拷貝 閱讀全文
一、“Mementor”模式和“堆棧”的結合-“GUI界面撤銷功能”的實現
二、“Mementor”模式和“Observer”模式的結合-“通知式恢復”
三、“Mementor”模式和“Observer”模式、“責任鏈”模式的結合-“鏈式通知恢復”
四、“Mementor”模式和“Flyweight”模式的結合:減少相同對象的拷貝 閱讀全文
設計模式總結-Memento模式(一)
摘要: Memento模式的特點:
在需要提供保存、恢復對象狀態的類中,必須提供兩個方法:
.保存對象當前狀態方法:將對象自身(this)作為參數傳入,創建備忘錄。
.恢復對象之前狀態的方法:取出備忘錄/接收一個備忘錄對象,從中獲取對象之前的狀態
模式的缺點是耗費大,如果內部狀態很多,再保存一份,無意要浪費大量內存.
注意:Memento模式保存的是操作前對象的狀態,而不是操作后對象的狀態;否則就沒辦法做恢復了 閱讀全文
在需要提供保存、恢復對象狀態的類中,必須提供兩個方法:
.保存對象當前狀態方法:將對象自身(this)作為參數傳入,創建備忘錄。
.恢復對象之前狀態的方法:取出備忘錄/接收一個備忘錄對象,從中獲取對象之前的狀態
模式的缺點是耗費大,如果內部狀態很多,再保存一份,無意要浪費大量內存.
注意:Memento模式保存的是操作前對象的狀態,而不是操作后對象的狀態;否則就沒辦法做恢復了 閱讀全文
設計模式總結-Observer模式
摘要: 下面是Observer模式的實現過程:
·創建一個被觀察者,繼承java.util.Observable
·創建一個觀察者,實現java.util.Observer接口
·注冊觀察著,調用addObserver(Observer observer)
·在被觀察者改變對象內部狀態的地方,調用setChanged()方法,然后調用notifyObservers(Object)方法,通知被觀察者
·在觀察者的update(Object)方法中,對改變做出響應。 閱讀全文
·創建一個被觀察者,繼承java.util.Observable
·創建一個觀察者,實現java.util.Observer接口
·注冊觀察著,調用addObserver(Observer observer)
·在被觀察者改變對象內部狀態的地方,調用setChanged()方法,然后調用notifyObservers(Object)方法,通知被觀察者
·在觀察者的update(Object)方法中,對改變做出響應。 閱讀全文
設計模式總結-Flyweight模式
摘要: Flyweight模式一般由幾個部分組成:
·Flyweight接口(抽象類) :定義了一個可共享的元類
·Flyweight實現類:實現了元類中的操作,而且可能會提供一個用于保存內部狀態(共享屬性)的空間
·Flyweight Factory:創建Flyweight的工廠類,創建后將其保存到Flyweight Pool中
·Flyweight Pool:緩沖Flyweight對象的池,通常包含在工廠類中 閱讀全文
·Flyweight接口(抽象類) :定義了一個可共享的元類
·Flyweight實現類:實現了元類中的操作,而且可能會提供一個用于保存內部狀態(共享屬性)的空間
·Flyweight Factory:創建Flyweight的工廠類,創建后將其保存到Flyweight Pool中
·Flyweight Pool:緩沖Flyweight對象的池,通常包含在工廠類中 閱讀全文
| |||||||||
日 | 一 | 二 | 三 | 四 | 五 | 六 | |||
---|---|---|---|---|---|---|---|---|---|
24 | 25 | 26 | 27 | 28 | 29 | 1 | |||
2 | 3 | 4 | 5 | 6 | 7 | 8 | |||
9 | 10 | 11 | 12 | 13 | 14 | 15 | |||
16 | 17 | 18 | 19 | 20 | 21 | 22 | |||
23 | 24 | 25 | 26 | 27 | 28 | 29 | |||
30 | 31 | 1 | 2 | 3 | 4 | 5 |
常用鏈接
留言簿(21)
隨筆分類
- J2EE 框架(9)
- J2EE基礎(4)
- J2SE(43)
- Java 工具(5)
- Oracle Concept(4)
- Oracle SQL/PLSQL(9)
- Oracle 開發(13)
- Oracle 管理(4)
- Oracle 調優
- Oracle 錯誤診斷
- RoR(19)
- UML(3)
- Unix / Linux(13)
- Web基礎(19)
- 其它技術(7)
- 感悟(3)
- 雜項(7)
- 架構與性能(8)
- 模式與重構(19)
- 灌水(8)
- 電影與音樂(16)
- 走過的路(1)
- 軟件過程與軟件方法(3)
- 陽光戶外(2)
- 項目管理(36)
隨筆檔案
- 2012年2月 (3)
- 2011年11月 (4)
- 2011年10月 (1)
- 2011年9月 (2)
- 2011年8月 (2)
- 2011年7月 (5)
- 2011年6月 (3)
- 2011年5月 (1)
- 2011年4月 (1)
- 2011年3月 (3)
- 2011年1月 (1)
- 2010年12月 (1)
- 2010年11月 (5)
- 2010年10月 (3)
- 2010年9月 (1)
- 2010年7月 (1)
- 2010年6月 (1)
- 2010年5月 (4)
- 2010年4月 (9)
- 2010年3月 (19)
- 2010年2月 (8)
- 2010年1月 (3)
- 2009年12月 (34)
- 2009年11月 (1)
- 2009年10月 (2)
- 2009年7月 (4)
- 2009年6月 (5)
- 2009年5月 (3)
- 2009年4月 (2)
- 2009年3月 (1)
- 2009年2月 (5)
- 2009年1月 (5)
- 2008年12月 (13)
- 2008年11月 (4)
- 2008年10月 (1)
- 2008年9月 (6)
- 2008年8月 (5)
- 2008年7月 (3)
- 2008年6月 (31)
- 2008年5月 (10)
- 2008年4月 (9)
- 2008年3月 (7)
- 2008年2月 (4)
- 2008年1月 (19)
BlogJava熱點博客
好友博客
搜索
最新評論

- 1.?re: 【Java基礎專題】編碼與亂碼(01)---編碼基礎[未登錄]
- 666666666666666666666這幾天正在做個類似工程編碼出現錯誤
- --李
- 2.?re: 【Java基礎專題】IO與文件讀寫---使用Apache commons IO簡化文件讀寫
- 不錯
- --阿斯蘭
- 3.?re: 【Java基礎專題】編碼與亂碼(03)----String的toCharArray()方法
- 多謝分享
- --thx
- 4.?re: 【Java基礎專題】編碼與亂碼(05)---GBK與UTF-8之間的轉換
- 評論內容較長,點擊標題查看
- --karl
- 5.?re: 【Java基礎專題】編碼與亂碼(01)---編碼基礎[未登錄]
- 謝謝,幫了我大忙!
- --小龍