原创 java 開發模式之十三 : 代理模式

原理或定義 提供了對目標對象另外的訪問方式;即通過代理對象訪問目標對象.這樣做的好處是: 可以在目標對象實現的基礎上, 增強額外的功能操作, 即擴展目標對象的功能。 代理模式又分爲靜態代理和動態代理。靜態代理是由程序猿創建或特定工具自動生

原创 java 開發模式之十二 : 狀態模式

原理或定義 當一個對象的內在狀態改變時允許改變其行爲,這個對象看起來像是改變了其類。狀態模式中的行爲是由狀態來決定的,不同的狀態對應了不同的行爲。 結構 環境類Context: 它定義了客戶程序需要的接口並維護一個具體狀態角色的實例,將

原创 java 開發模式之十七 :責任鏈模式

原理或定義 是一種對象的行爲模式。在職責鏈模式裏,很多對象由每一個對象對其下家的引用而連接起來形成一條鏈。請求在這個鏈上傳遞,直到鏈上的某一個對象決定處理此請求。發出這個請求的客戶端並不知道鏈上的哪一個對象最終處理這個請求,這使得系統可以

原创 java 開發模式之十 : 迭代器模式

原理或定義 迭代器模式又叫做遊標(Cursor)模式。GOF給出的定義:提供一種方法訪問一個容器(container)對象中的各個元素,而又不暴露該對象的內部細節。 結構 迭代器角色(Iterator): 負責定義訪問和遍歷元素的接口。具

原创 java 開發模式之六 : 命令模式

原理或定義 命令模式將一個請求封裝爲一個對象,從而使你可用不同的請求對客戶進行參數化;對請求排隊或記錄請求日誌,以及支持可撤銷的操作。 命令模式的本質是對命令進行封裝,將發出命令的責任和執行命令的責任分割開,實現二者之間的松耦合。 結構

原创 java 開發模式之十六 : 生成器模式

原理或定義 將一個複雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 結構 Builder:生成器接口,定義創建一個Product對象所需要的各個部件的操作。 ConcreteBuilder:具體的生成器實現,實現各個部

原创 java 開發模式之十五 : 橋接模式

原理或定義 把抽象部分和它的實現部分分離開來,讓兩者可獨立變化。這裏的抽象部分指的是一個概念層次上的東西,它的實現部分指的是實現這個東西的(功能)部分,分離就把實現部分從它要實現的抽象部分獨立出來,自我封裝成對象。 結構 抽象化(Abst

原创 java 開發模式之七 : 適配器模式

原理或定義 適配器就是一種適配中間件,它存在於不匹配的二者之間,用於連接二者,將不匹配變得匹配,簡單點理解就是平常所見的轉接頭,轉換器之類的存在。 將一類的接口轉換成客戶希望的另外一個接口,Adapter模式使得原本由於接口不兼容而不能一

原创 java 開發模式之十八 :蠅量模式(享元模式)

原理或定義 能做到共享的關鍵是區分內蘊狀態(Internal State)和外蘊狀態(External State).一個內蘊狀態是存儲在享元對象內部的,並且不會隨環境改變而有所不同.因此,一個享元可以具有內蘊狀態並可以共享 .一個外蘊狀

原创 java 開發模式之十四 : 複合模式

原理或定義 複合模式結合兩個或以上的模式,組成一個解決方案,解決一再發生的一般性問題。 經典應用:MVC(Android)   MVC是經典複合模式,結合了觀察者模式、組合模式和策略模式。 (1)Model(模型)使用觀察者模式,以便

原创 java 開發模式之四 : 單例模式

原理或定義 一個類能返回對象一個引用(永遠是同一個)和一個獲得該實例的方法(必須是靜態方法,通常使用getInstance這個名 稱);當我們調用這個方法時,如果類持有的引用不爲空就返回這個引用,如果類保持的引用爲空就創建該類的實例並將

原创 java 開發模式之三 : 裝飾者模式

原理或定義 動態地給一個對象添加一些額外的職責,就增加功能來說,裝飾模式比生成子類更爲靈活。 在不必改變原類文件和使用繼承的情況下,動態的擴展一個對象的功能。它是通過創建一個包裝對象,也就是裝飾來包裹真實的對象。 特點或結構 1) 裝飾對

原创 java 開發模式之九 : 模板方法模式

原理或定義 定義一個操作中的算法的骨架,而將一些步驟延遲到子類中。模板方法使得子類可以不改變一個算法的結構即可重定義該算法的某些特定步驟。 結構 抽象模板(Abstract Template):定義了一個或多個抽象操作,以便讓子類實現。

原创 java 開發模式之八 : 外觀模式(門面模式)

原理或定義 它隱藏系統的複雜性,並向客戶端提供一個可以訪問系統的接口。這種類型的設計模式屬於結構型模式,它向現有的系統添加一個接口,來隱藏系統的複雜性,爲子系統中的一組接口提供了一個統一的高層訪問接口,這個接口使得子系統更容易被訪問或使用

原创 java 開發模式之一 : 策略模式

原理或定義 定義一組算法,將每個算法都封裝起來,並且使他們之間可以互換。 結構 封裝類:也叫上下文,對策略進行二次封裝,目的是避免高層模塊對策略的直接調用。   抽象策略:通常情況下爲一個接口,當各個實現類中存在着重複的邏輯時,則使