說起來設計模式,我們每個人都不陌生,多多少少聽過「設計模式」的大名。
工作中,我們也一直提及到Java設計模式,那麼我們的JDK中又有哪些常見的設計模式呢?
今天我們就來一起說一說。
說起Java設計模式,通俗一點就是前人的經驗總結,經由不斷演進,形成了一套場景結構設計的一套解決方案。
Java設計模式共有23中涉及模式,總體分為:建立型模式、結構型模式、行為型模式三類。
建立型模式的核心思想就是分裝隱藏建立物件的邏輯方式,不讓客戶端直接透過new建立新物件。該分類下包含:工廠模式、抽象工廠模式、單例模式、建造者模式、原型模式共5種設計模式。
這裡舉幾個例子:
工廠模式:java.util.Calendar#getInstance()
抽象工廠模式:DocumentBuilderFactory
單例模式:java.lang.Runtime#getRuntime()
建造者模式:StringBuilder
原型模式:Object.clone
結構型模式注重類與物件之間的組合,用組合的方式來替代繼承。該分類下包含:介面卡模式、橋接模式、過濾器模式、組合模式、裝飾器模式、外觀模式、享元模式、代理模式共8中涉及模式。
這裡舉典型的例子:
代理模式-java.lang.reflect.Proxy
享元模式:java.lang.Byte#valueOf(byte)
行為型模式
行為型模式關注的是物件之間的通訊互動,共有12中設計模式,責任鏈模式、命令模式、直譯器模式、迭代器模式、中介者模式、備忘錄模式、觀察者模式、狀態模式、空物件模式、策略模式、模版方法模式、訪問者模式。
舉個栗子:
迭代器模式:java.util.Iterator
觀察者模式:java.util.Observer
說起來設計模式,我們每個人都不陌生,多多少少聽過「設計模式」的大名。
工作中,我們也一直提及到Java設計模式,那麼我們的JDK中又有哪些常見的設計模式呢?
今天我們就來一起說一說。
說起Java設計模式,通俗一點就是前人的經驗總結,經由不斷演進,形成了一套場景結構設計的一套解決方案。
Java設計模式共有23中涉及模式,總體分為:建立型模式、結構型模式、行為型模式三類。
建立型模式建立型模式的核心思想就是分裝隱藏建立物件的邏輯方式,不讓客戶端直接透過new建立新物件。該分類下包含:工廠模式、抽象工廠模式、單例模式、建造者模式、原型模式共5種設計模式。
這裡舉幾個例子:
工廠模式:java.util.Calendar#getInstance()
抽象工廠模式:DocumentBuilderFactory
單例模式:java.lang.Runtime#getRuntime()
建造者模式:StringBuilder
原型模式:Object.clone
結構型模式結構型模式注重類與物件之間的組合,用組合的方式來替代繼承。該分類下包含:介面卡模式、橋接模式、過濾器模式、組合模式、裝飾器模式、外觀模式、享元模式、代理模式共8中涉及模式。
這裡舉典型的例子:
代理模式-java.lang.reflect.Proxy
享元模式:java.lang.Byte#valueOf(byte)
行為型模式
行為型模式關注的是物件之間的通訊互動,共有12中設計模式,責任鏈模式、命令模式、直譯器模式、迭代器模式、中介者模式、備忘錄模式、觀察者模式、狀態模式、空物件模式、策略模式、模版方法模式、訪問者模式。
舉個栗子:
迭代器模式:java.util.Iterator
觀察者模式:java.util.Observer