June 28 22:59~23:19
大概2年多前就「公開嗆聲」要寫《設計模式的逆襲》,後來花了時間整理書本章節目錄,也動手寫了一兩篇,但總覺得怪怪的,還少了些什麼。
這本書有好幾個作用力(forces)需要考慮:
- Teddy特別想談的倒不是GoF設計模式,而是Alexander的pattern設計方法。Alexander的設計方法應該要佔這本書最重要的份量。
- 既然談了Alexander的設計方法,應該也要談一下軟體設計模式社群的歷史與演進過程。
- 上面這兩件事情交代完畢之後,就可以談GoF的23個設計模式。關於這部分Teddy最想做的是把GoF設計模式改用Context、Problem、Forces、Solution、Resulting Context這種格式重寫詮釋,這也是一個不小的功夫。
- 最後,如果上面這三件事情都做到,那這本書不就要厚到嚇死人的地步?書的頁數也是一個很強烈的force,這又限制了前面想做的這三個目標。
後來腦筋卡住,加上有其他工作在忙,三不五時又生個小病什麼的,就把寫書的事情丟到一邊。最近有點時間,覺得還是應該想辦法完成《設計模式的逆襲》,後來想到一個做法:把原本top-down的寫作思維改成bottom-up,也就是根本不要管這本書最後寫出來會變成什麼樣子,而是先把個別元素準備好,最後再看看要怎麼整合成一本或N本書。
***
花了四天的時間先整理好Singleton(獨體、單例)設計模式,檔案在此有興趣的鄉民可以下載來看一下,對於內容有任何建議也歡迎直接告訴Teddy。
***
友藏內心獨白:感恩。
請問 Spring Singleton 與 Singleton Design Pattern 有什麼不同嗎?
回覆刪除我在文章中有提到不知道你有沒有看到?Spring Singleton是由Spring容器控制回傳某class的同一份instance,你不需要把一個 class 實作成 GoF的Singleton,但是你的程式必須透過Spring獲得該class的instance,不能自己new才會有Singleton的效果。
刪除非常感謝回覆
回覆刪除