學習設計模式的三個階段

2021-06-22 00:18:14 字數 956 閱讀 4925

模式修練的第乙個階段:死記硬套,總有把新學的模式硬塞到實際的設計和**中的衝動,儘管實際場景可能並不太適合用這個模式,甚至根本就不需要用。這個階段有點類似「少年不識愁滋味,愛上層樓。愛上層樓,為賦新詞強說愁」。

第二個階段:從背景出發,針對特定的上下文,從幾個備選的模式中選擇最合適的乙個或多個。這個階段,模式的利弊取捨已經有所了悟,但依然糾結於模式間的微妙差別,有時會舉棋不定,甚至悔棋不倦。有點」江闊雲低,斷雁叫西風」般的茫然。縱然江闊,卻獨見斷雁,頗有「一葉蔽目,不見泰山」。

第三個階段:模式已經化於無形,不再執著於模式,而是著眼於設計原則和方法,如cva,自然而然推導出模式。這個階段更多是「而今識盡愁滋味,欲語還休」般的領悟與超然。

金庸大俠筆下《神鵰俠侶》中關於獨孤求敗的劍法四境界的描述可與此互相啟發:

獨孤求敗劍冢裡藏有四把劍,每把代表一境界:

1.青劍凌厲剛猛,無堅不摧,弱冠前以之與河朔群雄爭鋒。

2.紫薇軟劍三十歲前所用,誤傷義士不祥,乃棄之深谷。 

3.重劍無鋒,大巧不工。四十歲前恃之橫行天下。

4.四十歲後,不滯於物,草木竹石均可為劍。自此精修,漸進至無劍勝有劍之境。 

說了這麼多,如何學習呢?我把我的學習經驗貼出來,拋磚引玉,大家說說自己的學習方法或者感悟。

我的學習之路一開始猶如社甫詩云:「讀書破萬卷,下筆如有神」。通俗點的就像我師傅說的「像看**一樣看各種軟體書籍,多看多想,終有融會貫通的一天」。當我樂此不疲的通過書跟多位大師神侃一番後,發現也不盡然。我時常記住了最近bob大叔的身教,卻掉了上週martin fowler的言傳。總覺得學得不太牢靠。

原來讀萬卷書,還得行萬里路。於是我更進一步,開始學以致用。如今回頭一看,我原來站在乙個極不對稱的轉換式的左邊,以大量的閱讀和實踐為代價,期許得到右邊的一點點靈光乍現。偶爾閃耀的星光不一會兒便淹沒在不捨晝夜的濤濤江水中。

深陷於第二階段沼澤的我,總以子曾經曰過自勉:「質勝文則野,文勝質則史」。第三階段嘛,並不比第二階段強多少。你覺得呢?

事件的三個階段

事件冒泡 多個元素巢狀關係,這些元素都註冊了相同的事件型別,那麼,如果我們觸發了最裡面的元素的事件,外面的所有的元素的事件也會自動觸發,這種行為叫事件冒泡 事件的階段 1.捕獲階段 由外向內 2.當前目標階段 選擇觸發事件 3.冒泡階段 由內向外 e.eventphase屬性可以檢視觸發顯示的階段 ...

程式生成的三個階段

程式生成主要分成編譯 彙編 連線等幾個步驟 編譯是指把用高階語言編寫的程式轉換成相應處理器的組合語言程式的過程。從本質上講,編譯是乙個文字轉換的過程。對嵌入式系統而言,一般要把用c語言編寫的程式轉換成處理器的彙編 編譯過程包含了c語言的語法解析和組合語言的生成兩個步驟。彙編一般是逐個檔案進行的,對於...

Event事件的三個階段

www.w3school.com.cn htmldom event bubbles.asp 在 2 級 dom標準中,事件傳播分為三個階段 第一,捕獲階段。事件從 document 物件沿著文件樹向下一級一級傳遞給目標節點。如果目標的任何乙個先輩註冊了捕獲事件控制代碼比如document.onkey...