設計模式培訓資料_第1頁
設計模式培訓資料_第2頁
設計模式培訓資料_第3頁
設計模式培訓資料_第4頁
設計模式培訓資料_第5頁
已閱讀5頁,還剩10頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、設計模式 (Design Patterns)目的了解23種設計模式掌握常用幾種設計模式設計模式簡介最早提出“設計模式”概念的是建筑設計大師亞力山大Alexander。在1970 年他的建筑的永恒之道里描述了投計模式的發現,因為它已經存在了千百年之久,而現代才被通過大量的研究而被發現。在建筑的永恒之道里這樣描述:模式是一條由三個部分組成的通用規則:它表示了一個特定環境、一類問題和一個解決方案之間的關系。每一個模式描述了一個不斷重復發生的問題,以及該問題解決方案的核心設計。盡管亞力山大的著作是針對建筑領域的,但他的觀點實際上適用于所有的工程設計領域,其中也包括軟件設計領域。“軟件設計模式”,這個術

2、語是在1990 年代由Erich Gamma 等人從建筑設計領域引入到計算機科學中來的。目前主要有23 種。創建型創建對象時,不再由我們直接實例化對象;而是根據特定場景,由程序來確定創建對象的方式,從而保證更大的性能、更好的架構優勢。Ø 單例模式(Singleton)Ø 構建模式(Builder)Ø 原型模式(Prototype)Ø 簡單工廠模式(Simple Factory)Ø 抽象工廠模式(Abstract Factory)Ø 工廠方法模式(Factory Method)結構型將類和對象組合起來,以構成更加復雜的結構 ,幫助開發人

3、員將簡單對象組合在一起形成更加復雜的結構,處理對象與對象之間的各種關系Ø 代理模式(Proxy)Ø 適配器模式(Adapter)Ø 裝飾者模式(Decorator)Ø 組合模式(Composite)Ø 橋連接模式(Bridge)Ø 蠅量模式(Flyweight)Ø 外觀模式(Facade)行為型用于幫助系統間各對象的通信,以及如何控制復雜系統中流程。Ø 策略模式(Strategy)Ø 狀態模式(State)Ø 責任鏈模式(Chain of Responsibility)Ø 解釋器模式(

4、Interpreter)Ø 命令模式(Command)Ø 觀察者模式(Observer)Ø 備忘錄模式(Memento)Ø 迭代器模式(Iterator)Ø 模板方法模式(Template Method)Ø 訪問者模式(Visitor)Ø 中介者模式(Mediator)23種設計模式常見設計模式介紹1. 單例模式(singleton)有些時候,允許自由創建某個類的實例沒有意義,還可能造成系統性能下降。如果一個類始終只能創建一個實例,則這個類被稱為單例類,這種模式就被稱為單例模式。單例模式主要有如下兩個優勢:1) 減少創建Ja

5、va 實例所帶來的系統開銷2) 便于系統跟蹤單個Java 實例的生命周期、實例狀態等。2. 簡單工廠(StaticFactory Method)簡單工廠模式是由一個工廠對象決定創建出哪一種產品類的實例。簡單工廠模式是工廠模式家族中最簡單實用的模式,可以理解為是不同工廠模式的一個特殊實現。A 實例調用B 實例的方法,稱為A 依賴于B。如果使用new 關鍵字來創建一個B 實例(硬編碼耦合),然后調用B 實例的方法。一旦系統需要重構:需要使用C 類來代替B 類時,程序不得不改寫A 類代碼。而用工廠模式則不需要關心B 對象的實現、創建過程。使用簡單工廠模式的優勢:讓對象的調用者和對象創建過程分離,當對

6、象調用者需要對象時,直接向工廠請求即可。從而避免了對象的調用者與對象的實現類以硬編碼方式耦合,以提高系統的可維護性、可擴展性。工廠模式也有一個小小的缺陷:當產品修改時,工廠類也要做相應的修改。3. 工廠方法(Factory Method)和抽象工廠(Abstract Factory)如果我們不想在工廠類中進行邏輯判斷,程序可以為不同產品類提供不同的工廠,不同的工廠類和產不同的產品。當使用工廠方法設計模式時,對象調用者需要與具體的工廠類耦合,如:使用簡單工廠類,需要在工廠類里做邏輯判斷。而工廠類雖然不用在工廠類做判斷。但是帶來了另一種耦合:客戶端代碼與不同的工廠類耦合。為了解決客戶端代碼與不同工

7、廠類耦合的問題。在工廠類的基礎上再增加一個工廠類,該工廠類不制造具體的被調用對象,而是制造不同工廠對象。如:4. 外觀模式(Facade)隨著系統的不斷改進和開發,它們會變得越來越復雜,系統會生成大量的類,這使得程序流程更難被理解。外觀模式可為這些類提供一個簡化的接口,從而簡化訪問這些類的復雜性。外觀模式(Facade)也被稱為正面模式、門面模式,這種模式用于將一組復雜的類包裝到一個簡單的外部接口中。5. 代理模式(Proxy)代理模式的作用是:為其他對象提供一種代理以控制對這個對象的訪問。在某些情況下,一個客戶不想或者不能直接引用另一個對象,而代理對象可以在客戶端和目標對象之間起到中介的作用。代理模式一般涉及到的角色有:抽象角色:聲明真實對象和代理對象的共同接口;代理角色:代理對象角色內部含有對真實對象的引用,從而可以操作真實對象,同時代理對象提供與真實對象相同的接口以便在任何時刻都能代替真實對象。同時,代理對象可以在執行真實對象操作時,附加其他的操作,相當于對真實對象進行封裝。真實角色:代理角色所代表的真實對象,是我們最終要引用的對象。看代碼6. 橋接模式(Bridge)由于實際的需要,某個類具有兩個以上的維度變化,

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論