現在我已經更多地參與WPF大約一年。很多東西都是新的,有時很難讓我的腦袋纏繞它。WPF中使用的模式
同時我正在重讀GOF Design Patterns書。
有幾次我會停在中間,因爲我會意識到某種模式是在某些WPF功能中使用的模式。無論何時這樣的認識對我產生影響,我覺得我對WPF相關原理的理解纔剛剛邁出了一大步。這有點像阿哈 - 效應。
我也意識到我比較容易理解Prism,因爲文檔在解釋涉及的模式方面做得非常出色。
因此,這裏是我的「問題」(更像是努力):
爲了幫助我們理解 WPF更好的將是巨大的,如果有人 誰也「發現」設計模式在 的WPF可以給一個簡短的解釋。
一個很明顯的例子,我發現是路由事件:
如果由孩子 控制檢測到事件並沒有處理程序一直 指定,並將它傳遞給它的 父依此類推,直到最終處理了 或者沒有找到父母。
假設我們有一個按鈕 上的圖像,它位於一個窗口內部的一個StackPanel中,它是 。如果用戶點擊圖像,則該事件將由其處理(如果處理代碼已指定了 )或者「泡泡」直到 其中一個控件處理它。所以 每個控件都會有機會按此順序對 作出反應。
- 圖片
- 按鈕
- 的StackPanel
- 窗口
一旦控制處理它的 起泡將停止。
這是一個簡短的解釋,對於一個 更精確的請參閱WPF 文獻。
這種功能代表 的「Chain of Responsibility 設計模式」的規定,如果 他們是一個請求時,它被傳遞 沿責任鏈給 在它的每個對象都有機會處理 它。請求的發件人沒有 想法誰將處理它,這確保了 解耦。有關更詳盡的 解釋,請點擊鏈接。
這裏的目的僅僅是爲了說明這個(看似十歲以上的老想法)如何融入我們當前的技術並提供另一種觀察方式。
我認爲這已經足夠一開始,並希望在這裏收集更多的相似之處。
乾杯,托爾斯滕