首頁  >  文章  >  Java  >  經典設計模式在JDK中的體現

經典設計模式在JDK中的體現

巴扎黑
巴扎黑原創
2016-11-26 09:18:521581瀏覽

1.Singleton(單例)
作用:保證類別只有一個實例;提供一個全域存取點
JDK中體現:
(1)Runtime
(2)NumberFormat

 

2.FactoryFactor(原廠活動:
(1)取代建構子建立物件
(2)方法名比建構子清晰
JDK中體現:
(1)Integer.valueOf
(2)Class.forName

 

3.FactoryFactoryFactoryFactoryFactoryFactoryFactory Method )

作用:子類別決定哪一個類別實例化
JDK中體現:Collection.iterator方法

 

4.Abstract Factory(抽象工廠)

作用:創建某一種類別的物件
JDK中體現: )java.sql套件
(2)UIManager(swing外觀)

 

5.Builder(建構者)

作用:

(1)將建構邏輯提到單獨的類別中
(2)分離類別的構造邏輯與表現
JDK中體現:DocumentBuilder(org.w3c.dom)

 

6.Prototype(原型)

作用:

(1)複製物件
(2)淺複製、深複製中體現:Object. clone;Cloneable

 

7.Adapter(適配器)

作用:使不相容的介面相容

JDK中體現:

(1)java.io.InputStreamReader(InputStream)

(1)java.io.InputStreamReader(InputStream)
(2StreamStream.ioter.Outjava.2)java.Out OutputStream)

 

8.Bridge(橋接)

作用:將抽象部分與其實現部分分離,使它們都可以獨立地變化
JDK中體現:java.util.logging中的Handler和Formatter

K中體現:java.util.logging中的Handler和Formatter

.Composite(組合)

作用:一致地對待組合對象和獨立對象

JDK中體現:
(1)org.w3c.dom
(2)javax.swing.JComponent#add(Component)

.Decorator(裝飾器)

作用:為類別添加新的功能;防止類別繼承帶來的爆炸式增長

JDK中體現:

(1)java.io包

(2)java.util.Collections#synchronizedList (List)

 

11.Façade(外觀)

作用:

(1)封裝一組交互類,一致地對外提供接口

(2)封裝子系統,簡化子系統調用

JDK中體現:java 。 (2)String常數池

 

14.Proxy(代理)

作用:

(1)透明調用被代理對象,無須知道複雜實現細節

(2)增加被代理類別的功能

JDK中體現:動態複雜實現細節

(2)增加被代理類別的功能
JDK中體現:動態複雜實現細節
(2)增加被代理類別的功能
JDK中體現:動態複雜實現細節

(2)增加被代理類別的功能

JDK中體現:動態複雜實現細節

(2)增加被代理類別的功能

JDK中體現:動態複雜實現細節
(2)增加被代理類別的功能
JDK中體現:動態複雜實現細節
(2)增加被代理類別的功能
JDK中體現:動態複雜實現細節

(2)增加被代理類別的功能

JDK中體現:動態複雜實現細節

(2)增加被代理類別的功能

JDK中體現代理;RMI

 

15.Iterator(迭代器)

作用:將集合的迭代和集合本身分離

JDK中體現:Iterator、Enumeration介面

 

物件狀態改變

JDK中體現:

(1)java.util.Observer,Observable

(2)Swing中的Listener


 

17.Mediator(協調者)

 


17.Mediator(協調者)
JDK中體現:Swing的ButtonGroup

 

18.Template method(模板方法)
作用:定義演算法的結構,子類別只實現不同的部分
JDK中體現:ThreadPoolExecutor.Workerker只實現不同的部分

JDK中體現策略)

作用:提供不同的演算法

JDK中的體現:ThreadPoolExecutor中的四個拒絕策略


 

20.Chain of Responsibility(責任鏈)
作用:請求會被鏈上的物件處理,但是客戶端不知道請求會被哪些物件處理

JDK中體現:

(1)java.util.logging.Logger會將log委託給parent logger

(2)ClassLoader的委託模型


 

21.Command(指令)

 

21.Command(指令)

作用:
(1)封裝操作,使介面一致
(2)將呼叫者和接收者在空間和時間上解耦合

JDK中體現:Runnable;Callable;ThreadPoolExecutor

 


22.Null Object(空物件)
作用:不需每次判空,對待空值,如同對待一個相同介面的物件
JDK中體現:Collections.EMPTY_LIST

 

23.Interpreter(解釋器)🎜作用:用一組類別代表某一類別代表某一類代表某一類一規則🎜JDK中體現:java.util.regex.Pattern🎜類圖:四則運算🎜🎜🎜🎜
陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
上一篇:JAVA外連接下一篇:JAVA外連接