設計模式的實際應用

通常,概念和這些概念在現實世界中的應用是有區別的,設計模式也不例外。   設計模式無處不在。在閱讀技術方面的出版物或者瀏覽技術方面的網站時,很容易發現對設計模式的引用。到目前爲止,您很可能已經閱讀過(至少翻閱過)一些設計模式方面的書籍,如《Core J2EE Design Patterns》或者Gang of Four編寫的《Design Patterns》。此時,您可能會對設計模式有一些疑問。設計模式如何幫助我?他們是銀彈嗎?使用設計模式有什麼問題嗎?爲什麼我不能從集成開發環境(integrated development environment,IDE)中獲得設計模式?  上述的幾個問題是採用設計模式進行處理過程中遇到的一些經典問題。通常,概念和這些概念在顯示世界中的應用是有區別的,設計模式也不例外。本文將討論設計模式在現實世界中的應用。這些信息可以幫助您成功地在項目中採用設計模式來作出正確的決定。  設計模式提供了一種共享經驗的方式,可以使團體受益和避免不斷的重複發明。設計模式通常捕捉問題的描述、問題的語境、推薦的問題解決方案以及使用解決方案後可以預見到的結果。爲了具有最廣泛的適用性(從而對更多的讀者有用),設計模式通常從取決於環境的精確細節中抽象而來。這種抽象性產生了一些把設計模式應用到現有的案例中所必需的譯碼。這是一個重要細節:儘管設計模式是共享專業知識的好方法,但通常它對正確應用專業知識是非常重要的。  設計模式這個概念最初產生於建築行業。設計師(設計建築物而不是計算機系統)意識到他們需要共享有關正確設計技術的想法。這些想法是在可以使設計師團體從分享經驗和教訓中獲益的設計模式中形成的。設計模式在80年代後期從建築業進入計算機系統領域。面向對象(Object-oriented,OO)原則逐漸得到普及,而設計模式成爲培育新的OO追隨者的最佳實踐。  Richard Gamma等(人們通常把他們稱作 Gang of Four [GoF] )編著的《Design Patterns: Elements of Reusable Object-Oriented Software》一書使設計模式成爲萬衆矚目的焦點。隨着設計模式逐漸普及,他們所涉及的領域就像“Ben and Jerry”效應那樣也逐漸廣泛起來。對那些不熟悉著名冰淇淋品牌的人來說,Ben and Jerry是一家冰淇淋產品的供應商,其冰淇淋產品擁有各種可以想象得到的配料組合(還包括一些您永遠想象不到的)。因此,它就是設計模式,和普通的OO設計模式一樣來源於GoF的著作,但是現在包括了專爲開發語言、應用服務器、行業合成等提供的設計模式。  設計模式通常根據一些公共特性而組合在一起。GoF的著作把設計模式劃分爲三類:Creational、Behavioral和Structural。用於J2EE的設計模式通常劃分爲表現層(Presentation Tier)、業務邏輯層(Business Logic Tier)和集成層(Integration Tier)。這種分組方式可以使描述所有設計模式共享的公共細節更加輕鬆,或者使設計模式的分類和發現更加輕鬆。  在對設計模式實際應用的討論中,需要把設計模式劃分爲兩類:broad exposure和isolated use。這種劃分基於設計模式對應用程序設計人員和開發人員的可見性和應用程序的多個部分對設計模式的相依性。  Broad exposure 設計模式因爲可以影響多個團隊成員或者應用程序的多個方面的設計和開發而聞名。這類設計模式的品質包括:

發佈了177 篇原創文章 · 獲贊 7 · 訪問量 33萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章