Java設計模式之認識階段,Java設計模式之認識
設計模式是什麼?設計模式(Design pattern)是一套被反覆使用、多數人知曉的、經過分類編目的、代碼設計經驗的總結。
其本質就是繼承與介面的組合應用。為什麼要用設計模?使用設計模式是為了可重用代碼、讓代碼更容易被他人理解、保證代碼可靠性、提高工作效率。設計模式的分類:設計模式按目的可分為三種類型,共23種。
- 建立型模式:單例模式、抽象原廠模式、建造者模式、原廠模式、原型模式。
- 結構型模式:適配器模式、橋接模式、裝飾模式、組合模式、面板模式、享元模式、代理模式。
- 行為型模式:模版方法模式、命令模式、迭代器模式、觀察者模式、中介者模式、備忘錄模式、解譯器模式、狀態模式、策略模式、職責鏈模式、訪問者模式。
原廠模式Demo:
interface Fruit{// 定義一個水果介面public void eat() ;// 吃水果}class Apple implements Fruit{public void eat(){System.out.println("** 吃蘋果。") ;}};class Orange implements Fruit{public void eat(){System.out.println("** 吃橘子。") ;}};class Factory{// 定義工廠類public static Fruit getInstance(String className){Fruit f = null ;if("apple".equals(className)){// 判斷是否要的是蘋果的子類f = new Apple() ;}if("orange".equals(className)){// 判斷是否要的是橘子的子類f = new Orange() ;}return f ;}};public class InterfaceCaseDemo05{public static void main(String args[]){Fruit f = Factory.getInstance(args[0]) ;// 執行個體化介面if(f!=null){// 判斷是否取得執行個體f.eat() ;}}};
java設計模式怎才可以更好的去瞭解它
主要學習:單例模式,原廠模式(簡單原廠模式,Factory 方法模式,抽象原廠模式) 組合模式,觀察者模式,狀態模式。將這些模式用代碼實現,嘗試用途將他們的過程畫出來,形象化理解!!
java中常用到得設計模式有哪幾種?
一共23種設計模式!
按照目的來分,設計模式可以分為建立型模式、結構型模式和行為型模式。
建立型模式用來處理對象的建立過程;結構型模式用來處理類或者對象的組合;行為型模式用來對類或對象怎樣互動和怎樣分配職責進行描述。
建立型模式用來處理對象的建立過程,主要包含以下5種設計模式:
Factory 方法模式(Factory Method Pattern)
抽象原廠模式(Abstract Factory Pattern)
建造者模式(Builder Pattern)
原型模式(Prototype Pattern)
單例模式(Singleton Pattern)
結構型模式用來處理類或者對象的組合,主要包含以下7種設計模式:
適配器模式(Adapter Pattern)
橋接模式(Bridge Pattern)
組合模式(Composite Pattern)
裝飾者模式(Decorator Pattern)
面板模式(Facade Pattern)
享元模式(Flyweight Pattern)
代理模式(Proxy Pattern)
行為型模式用來對類或對象怎樣互動和怎樣分配職責進行描述,主要包含以下11種設計模式:
責任鏈模式(Chain of Responsibility Pattern)
命令模式(Command Pattern)
解譯器模式(Interpreter Pattern)
迭代器模式(Iterator Pattern)
中介者模式(Mediator Pattern)
備忘錄模式(Memento Pattern)
觀察者模式(Observer Pattern)
狀態模式(State Pattern)
策略模式(Strategy Pattern)
模板方法模式(Template Method Pattern)
訪問者模式(Visitor Pattern)
推薦你一本好書:《軟體秘笈:設計模式那點事》,裡面講解的23中設計模式例子很生動,容易理解,還有JDK中設計模式應用情況,看了收穫挺大的!百度裡面搜“設計模式”,第一條中設計模式百度百科中就有首推該圖書,瀏覽量在20幾萬以上的,不會錯的。好東西大家一起分享!
祝你早日學會設計模式!