原创 java 觀察者模式

定義:定義對象間一種一對多的依賴關係,使得當每一個對象改變狀態,則所有依賴於它的對象都會得到通知並自動更新。 類型:行爲類模式 類圖:         在軟件系統中經常會有這樣的需求:如果一個對象的狀態發生改變,某些與它相關的

原创 Java之裝飾模式(Decorator Pattern)

1. 概念 動態將職責附加到對象上,若要擴展功能,裝飾者提供了比繼承更具彈性的代替方案。它是通過創建一個包裝對象,也就是裝飾來包裹真實的對象。[由於繼承的靜態特質使其缺乏靈活性;且隨着子類的增多、組合,會導致更多子類的膨脹。類應設計的

原创 java適配器模式1

在閻宏博士的《JAVA與模式》一書中開頭是這樣描述適配器(Adapter)模式的:   適配器模式把一個類的接口變換成客戶端所期待的另一種接口,從而使原本因接口不匹配而無法在一起工作的兩個類能夠在一起工作。 適配器模式的用途   

原创 java享元模式

在閻宏博士的《JAVA與模式》一書中開頭是這樣描述享元(Flyweight)模式的:   Flyweight在拳擊比賽中指最輕量級,即“蠅量級”或“雨量級”,這裏選擇使用“享元模式”的意譯,是因爲這樣更能反映模式的用意。享元模式是對象

原创 java享元模式實例

GoF對享元模式的描述是:運用共享技術有效地支持大量細粒度的對象。 Flyweight模式是構造型模式之一,它通過與其他類似對象共享數據來減小內存佔用。也就是說在一個系統中如果有多個相同的對象,那麼只共享一份就可以了,不必每個都去實例化

原创 java單例模式5中實現方法

 [代碼]Java中的五種單例模式實現方法     跳至 [1] [全屏預覽] view source print? 01 package singleton; 02  

原创 java職責鏈模式

在閻宏博士的《JAVA與模式》一書中開頭是這樣描述責任鏈(Chain of Responsibility)模式的:   責任鏈模式是一種對象的行爲模式。在責任鏈模式裏,很多對象由每一個對象對其下家的引用而連接起來形成一條鏈。請求在這個

原创 java備忘錄模式

在閻宏博士的《JAVA與模式》一書中開頭是這樣描述備忘錄(Memento)模式的:   備忘錄模式又叫做快照模式(Snapshot Pattern)或Token模式,是對象的行爲模式。   備忘錄對象是一個用來存儲另外一個對象內部狀

原创 java備忘錄模式實例

定義:在不破壞封裝性的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態。這樣就可以將該對象恢復到原先保存的狀            態。 備忘錄模式引入一個存儲狀態的備忘錄對象,爲了讓外部無法訪問這個對象的值,一般把這個對

原创 java中介者模式1

定義:用一箇中介者對象封裝一系列的對象交互,中介者使各對象不需要顯示地相互作用,從而使耦合鬆散,而且可以獨立地改變它們之間的交互。 類型:行爲類模式 類圖: 中介者模式的結構        中介者模式又稱爲調停者模式,從類圖

原创 java策略模式實例

在Java的集合框架中,經常需要通過構造方法傳入一個比較器Comparator,或者創建比較器傳入Collections的靜態方法中作爲方法參數,進行比較排序等,使用的是策略模式。   策略模式的定義   定義一組算法,將每個算法

原创 java策略模式

java設計模式之——策略模式   1,什麼是策略模式? 策略模式,又叫算法簇模式,就是定義了不同的算法族,並且之間可以互相替換,此模式讓算法的變化獨立於使用算法的客戶。   2,策略模式有什麼好處?      策略模式的好

原创 java模板方法模式

在閻宏博士的《JAVA與模式》一書中開頭是這樣描述模板方法(Template Method)模式的:   模板方法模式是類的行爲模式。準備一個抽象類,將部分邏輯以具體方法以及具體構造函數的形式實現,然後聲明一些抽象方法來迫使子類實現剩

原创 java狀態模式

在閻宏博士的《JAVA與模式》一書中開頭是這樣描述狀態(State)模式的:   狀態模式,又稱狀態對象模式(Pattern of Objects for States),狀態模式是對象的行爲模式。   狀態模式允許一個對象在其內部

原创 java中介者模式2

中介者的功能非常簡單,就是封裝對象之間的交互。 如果一個對象的操作會引起其他相關對象的變化,或者是某個操作需要引起其他對象的後續或連帶操作,而這個對象又不希望自己來處理這些關係,那麼久可以找中介者,把所有麻煩扔給它,只要在需要的時候