java 經常使用23中設計模式

Java總共有23中常見的設計模式。它們主要能夠分爲3類,建立型,結構型以及行爲型。算法

建立型的設計模式有:設計模式

1、Singleton,單例模式:保證一個類只有一個實例,並提供一個惟一的全局訪問點。ui

2、Abstract Factory,抽象工廠:提供一個建立一系列相關或者互相依賴的對象的接口,而無需指定它們的具體類。設計

3、Factory Method,工廠方法:定義一個用於建立對象的接口,Factory Method將一個類的實例化延遲到了子類。代理

4、Builder,建造模式:將一個複雜類的構建和表示分離開來,使得具備相同構建過程的類能夠具備不一樣的表示。日誌

5、Prototype,原型模式:用原型實例來指定建立對象的種類,而且經過拷貝原型來建立新的對象。server

行爲型的設計模式有:對象

6、Itrator,迭代器模式:提供一個方法順序的遍歷一個聚合對象的內部元素,而無需曝露這個對象的內部表示。接口

7、Observer,觀察者模式:定義對象之間一對多的關係,當一個對象發生變化時,依賴於它的對象都會獲得相應的通知更新。內存

8、Templete Method,模板方法:定義一個操做中的算法的骨架,而將一些步驟延遲到子類,Templete Method使得子類能夠不改變算法的骨架就能夠改變算法中的特定的步驟。

9、Command,命令模式:將一個請求封裝爲一個對象,從而使你能夠用不一樣的請求對用戶進行參數化,對請求排隊和記錄請求日誌,以及支持可撤銷的操做。

10、State,狀態模式:容許對象在其狀態改變時改變其行爲,對象看起來好像是改變了它的類。

11、Strategy,策略模式:定義一系列的算法,把它們一個個的封裝起來,使得它們能夠互相的替換,本模式可使算法能夠獨立於使用它的客戶。

12、China of Responsibility,職責鏈模式:使多個對象都有機會處理請求,避免請求者和處理者之間的耦合關係。

十3、Mediator,中介模式:利用一箇中介對象封裝一些對象的交互。

十4、Visitor,訪問者模式:表示一個做用於某個對象結構中的各個元素的操做,它使你能夠在不改變各個元素類的前提下定義做用於這個元素的新操做。

十5、Interpreter,解釋器模式:給定一個語言,定義它的一個文法的表示,定義一個解釋器,這個解釋器使用該表示來解釋該語言中的句子。

十6、Memento,備忘錄模式:在不破換對象的前提下,捕捉對象的內部狀態,並在該對象以外保存這個狀態。

結構型的設計模式有:

十7、Composite,組合模式:將對象組合成樹形結構以表示部分總體的關係,使得用戶對單個對象和組合對象的使用具備一致性。

十8、Facade,外觀模式:爲子系統中的一組結構提供一致的界面,Facade提供這一高層接口,這一接口使得系統更易使用。

十9、Proxy,代理模式:爲其餘對象提供一種代理以控制對這個對象的訪問。

二10、Adapter,適配器模式:將一類接口轉換成用戶但願的一類接口,Adapter使得本來因爲接口不兼容而不能在一塊兒工做的那些類能夠一塊兒工做了。

二11、Decorator,裝飾模式:動態的給對象添加一些額外的職責,就增長的功能來講,Decorator比其生成子類的方法要更加的靈活。

二12、Bridge,橋模式:將抽象部分和它的實現部分分離開來,使得它們能夠獨立的變化。

二十3、Flyweight,享元模式:它使用共享物件,用來儘量的減小內存使用量以及分享資訊給儘量多的類似物件。

相關文章
相關標籤/搜索