Java設計模式

Java工廠模式(Factory模式)

1

Harries 發布于 2015-01-21

工廠模式定義:提供創建對象的接口。 為何使用工廠模式 工廠模式是我們最常用的模式了,著名的Jive論壇,就大量使用了工廠模式,工廠模式在Java程序系統可以說是隨處可見。 為什么工廠模式是如此常用?因為工廠模式就相當于創建實例對象的new,我們經常要根據類Class生成實例對象,...

閱讀(487)評論(0)贊 (1)

Java單態模式(Singleton模式)

小丁 發布于 2015-01-21

定義:Singleton模式主要作用是保證在Java應用程序中,一個類Class只有一個實例存在。 在很多操作中,比如建立目錄 數據庫連接都需要這樣的單線程操作。 還有,singleton能夠被狀態化;這樣,多個單態類在一起就可以作為一個狀態倉庫一樣向外提供服務,比如,你要論壇中...

閱讀(396)評論(0)贊 (0)

Java建造者模式(Builder模式)

Harries 發布于 2015-01-21

Builder模式定義:將一個復雜對象的構建與它的表示分離,使得同樣的構建過程可以創建不同的表示。 Builder模式是一步一步創建一個復雜的對象,它允許用戶可以只通過指定復雜對象的類型和內容就可以構建它們。用戶不知道內部的具體構建細節。Builder模式是非常類似抽象工廠模式,...

閱讀(385)評論(0)贊 (0)

Java原型模式(Prototype模式)

鄧龍華 發布于 2015-01-21

Prototype模式定義:用原型實例指定創建對象的種類,并且通過拷貝這些原型創建新的對象。 Prototype模式允許一個對象再創建另外一個可定制的對象,根本無需知道任何如何創建的細節,工作原理是:通過將一個原型對象傳給那個要發動創建的對象,這個要發動創建的對象通過請求原型對象...

閱讀(377)評論(0)贊 (0)

Java共享模式/享元模式(Flyweight模式)

鄧龍華 發布于 2015-01-21

Flyweight定義:避免大量擁有相同內容的小類的開銷(如耗費內存),使大家共享一個類(元類)。 為什么使用共享模式/享元模式 面向對象語言的原則就是一切都是對象,但是如果真正使用起來,有時對象數可能顯得很龐大,比如,字處理軟件,如果以每個文字都作為一個對象,幾千個字,對象數就...

閱讀(333)評論(0)贊 (0)

Java橋模式(Bridge模式)

鄧龍華 發布于 2015-01-21

Bridge定義:將抽象和行為劃分開來,各自獨立,但能動態的結合。 為什么使用橋模式 通常,當一個抽象類或接口有多個具體實現(concrete subclass),這些concrete之間關系可能有以下兩種: 這多個具體實現之間恰好是并列的,如前面舉例,打樁,有兩個concret...

閱讀(404)評論(0)贊 (0)

Java裝飾模式(Decorator模式)

小丁 發布于 2015-01-21

Decorator常被翻譯成"裝飾",我覺得翻譯成"油漆工"更形象點,油漆工(decorator)是用來刷油漆的,那么被刷油漆的對象我們稱decoratee。這兩種實體在Decorator模式中是必須的。 Decorator定義:動態給一個...

閱讀(351)評論(0)贊 (0)

Java組合模式(Composite模式)

小丁 發布于 2015-01-21

Composite定義:將對象以樹形結構組織起來,以達成“部分-整體” 的層次結構,使得客戶端對單個對象和組合對象的使用具有一致性。 Composite比較容易理解,想到Composite就應該想到樹形結構圖。組合體內這些對象都有共同接口,當組合體一個對象...

閱讀(396)評論(0)贊 (0)

Java適配器模式(Adapter模式)

尖兵 發布于 2015-01-21

適配器模式定義:將兩個不兼容的類糾合在一起使用,屬于結構型模式,需要有Adaptee(被適配者)和Adaptor(適配器)兩個身份。 為何使用適配器模式 我們經常碰到要將兩個沒有關系的類組合在一起使用,第一解決方案是:修改各自類的接口,但是如果我們沒有源代碼,或者,我們不愿意為了...

閱讀(322)評論(0)贊 (0)

Java代理模式(Proxy模式)

鄧龍華 發布于 2015-01-21

理解并使用設計模式,能夠培養我們良好的面向對象編程習慣,同時在實際應用中,可以如魚得水,享受游刃有余的樂趣。 Proxy是比較有用途的一種模式,而且變種較多,應用場合覆蓋從小結構到整個系統的大結構,Proxy是代理的意思,我們也許有代理服務器等概念,代理概念可以解釋為:在出發點到...

閱讀(299)評論(0)贊 (1)

Java迭代模式(Iterator模式)

尖兵 發布于 2015-01-20

上了這么多年學,我發現一個問題,好象老師都很喜歡點名,甚至點名都成了某些老師的嗜好,一日不點名,就飯吃不香,覺睡不好似的,我就覺得很奇怪,你的課要是講的好,同學又怎么會不來聽課呢,殊不知:“誤人子弟,乃是犯罪!”啊。 好了,那么我們現在來看老師這個點名過程...

閱讀(324)評論(0)贊 (0)

Java模板模式(Template模式)

Harries 發布于 2015-01-20

Template模式定義:定義一個操作中算法的骨架,將一些步驟的執行延遲到其子類中。 其實Java的抽象類本來就是Template模式,因此使用很普遍。而且很容易理解和使用,我們直接以示例開始: public abstract class Benchmark {   /**   ...

閱讀(307)評論(0)贊 (0)

Java備忘錄模式(Memento模式)

1

Harries 發布于 2015-01-20

Memento定義:memento是一個保存另外一個對象內部狀態拷貝的對象,這樣以后就可以將該對象恢復到原先保存的狀態。 Memento模式相對也比較好理解,我們看下列代碼: public class Originator {    private int number;   p...

閱讀(414)評論(0)贊 (0)

Java中介模式(Mediator模式)

鄧龍華 發布于 2015-01-20

Mediator定義:用一個中介對象來封裝一系列關于對象交互行為。 為何使用Mediator模式/中介模式 各個對象之間的交互操作非常多,每個對象的行為操作都依賴彼此對方,修改一個對象的行為,同時會涉及到修改很多其他對象的行為,如果使用Mediator模式,可以使各個對象間的耦合...

閱讀(383)評論(0)贊 (1)

Java解釋器模式(Interpreter模式)

鄧龍華 發布于 2015-01-20

Interpreter定義:定義語言的文法,并且建立一個解釋器來解釋該語言中的句子。 Interpreter似乎使用面不是很廣,它描述了一個語言解釋器是如何構成的,在實際應用中,我們可能很少去構造一個語言的文法。我們還是來簡單的了解一下。 首先要建立一個接口,用來描述共同的操作。...

閱讀(396)評論(0)贊 (0)

Java策略模式(Strategy模式)

1

小丁 發布于 2015-01-20

Strategy是屬于設計模式中 對象行為型模式,主要是定義一系列的算法,把這些算法一個個封裝成單獨的類。 Stratrgy應用比較廣泛,比如,公司經營業務變化圖,可能有兩種實現方式,一個是線條曲線,一個是框圖(bar),這是兩種算法,可以使用Strategy實現。 這里以字符串...

閱讀(391)評論(0)贊 (0)

2013平特肖公式