軟件測試開發技術Java設計模式之綜述篇

發表于:2009-09-04來源:作者:點擊數: 標簽:軟件測試javaJAVAJava開發
軟件 測試 開發技術 Java設計模式之綜述篇 Java開發 關鍵字:Java 設計模式 自從J2EE出現以來,就大大簡化了在Java下的企業級開發。但是隨著J2EE越來越普遍地被應用到各個領域中,開發者們漸漸意識到需要一種方法來標準化應用程序的開發過程,他們采用的方法
軟件測試開發技術Java設計模式之綜述篇  Java開發

關鍵字:Java 設計模式

  自從J2EE出現以來,就大大簡化了在Java下的企業級開發。但是隨著J2EE越來越普遍地被應用到各個領域中,開發者們漸漸意識到需要一種方法來標準化應用程序的開發過程,他們采用的方法是標準化應用程序的結構層。在結構層通常封裝了一些獨立于業務邏輯的復雜技術,以便在業務邏輯和底層的架構之間建立起弱連接。在個專題中將會介紹一些設計模式,通過利用這些設計模式,開發人員可以達到標準化和簡化應用程序開發過程的目的。

  應用程序結構和J2EE

  J2EE是一個很成功的技術,它為一些基本的任務提供了一致的標準,例如數據庫連接、分布式應用程序等。但是使用J2EE并不能保證開發人員開發出成功的應用程序。有些人認為J2EE本身就是一種框架技術,但是這種認識是不正確的,我們應該意識到J2EE并沒有提供一個能夠幫助開發人員開發出高質量應用程序的框架,因此很多有經驗的開發人員通過利用設計模式來彌補這一缺項。

  設計模式

  在開發人員的圈子中,大家通過相互交流在開發過程中所遇到的問題以及解決方法來豐富整個圈子的經驗。而設計模式就是在這樣的情況下產生的。一個設計模式必然是針對某個特定的問題的,這個問題的解決方案以及這樣解決問題產生的后果。在解決利用J2EE進行程序開發中出現的問題的過程中,人們把設計模式分為兩類,一種是通用開發模式,一種是為了解決特定的J2EE問題的模式。下面讓我們來看一看每一種類型的開發模式都包含了哪些內容。

  J2EE設計模式

  J2EE設計模式在過去幾年中隨著Java開發人員經驗的不斷成長而發展。這些設計模式是針對使用各種J2EE技術時可能出現的問題提出的,它們能夠幫助開發人員構造出應用程序框架的要求。例如,Front Controller(前端控件)模式將servlet代碼的開發轉化為在圖形用戶界面下的開發。但是需要記住J2EE設計模型解決了那些在J2EE項目中最可能出現的問題。如果你在J2EE遇到的問題很特殊,很有可能沒有相應的設計模型來解決它。

  軟件開發設計模式

  軟件開發設計模式又被分為兩種,一種是通用的面向對象設計模式。例如工廠(Factory)模式是一種面向對象的設計模式,它將對象的創建封裝起來,使對象能夠重用,這樣就可以減少程序占用的系統資源。而另一種是基于Java的設計模式,這些設計模式要么是和Java的語言特性結合得很緊,要么是面向對象技術在Java中的深化。不要以為軟件設計模式相對獨立于J2EE就認為它們不重要,通常它們比J2EE設計模式更重要。這是因為:

  1)J2EE設計模式是近幾年才出現的,并且在不斷變化,而軟件開發設計模式經過了長時間的考驗,比前者更加成熟和完善;

  2)有些J2EE設計模式是建立在某些軟件開發設計模式之上的;

  3)軟件開發模式為J2EE設計模式提供了堅實的基礎。它的應用將影響到整個結構的穩定性和可擴充性。

  在實際應用中,設計模式并不是一段具體的代碼。設計模式通常是在設計說明書中描述。將設計模式應用到系統中的真正挑戰在于如何在系統中應用模式中的思想。這些思想必須被應用到恰當的環境中。

  根據設計模式的所解決的問題,又可以分為以下幾個類型:

  · 創建類型:創建類型的模式都是用于創建類的實例。但是和通過new來創建實例不同,這些模式提供了更加靈活的方式,是程序能夠根據特定的情況創建特定的類。

  · 結構類型:結構類型的模式幫助開發人員將簡單對象組合在一起以后的更加復雜的結構。

  · 行為類型:行為類型的模式幫助開發人員控制類之間的通訊。

  創建類型的模式

  所有創建類型的模式都和如何有效地創建類的實例相關。在Java中,如果開發人員要生成一個類的實例,最簡單的方法是使用new關鍵字:

  MyFoo = new Foo(); // 生成一個Foo的實例

  這種方法只能夠在程序中生成固定的類。但是在很多情況下,程序需要根據不同的情況生成不同的類的實例,這就需要將實例的生成過程抽象到一個特殊的創建類中,由該類在運行時決定生成哪種類的實例。這樣使得程序有更好的靈活性和通用性。

  創建類型的模式包括:

  · 工廠模式(Factory Pattern):根據工廠模式實現的類可以根據提供的數據生成一組類中某一個類的實例,而這一組類有一個公共的抽象父類。

  

原文轉自:http://www.anti-gravitydesign.com

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97