歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Java中23種常見的設計模式

Java中23種常見的設計模式

日期:2017/3/1 9:39:22   编辑:Linux編程

Java總共有23中常見的設計模式。它們主要可以分為3類,創建型,結構型以及行為型。

大話設計模式(帶目錄完整版) PDF+源代碼 http://www.linuxidc.com/Linux/2014-08/105152.htm

創建型的設計模式有:

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

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

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

四、Builder,建造模式:將一個復雜類的構建和表示分離開來,使得具有相同構建過程的類可以具有不同的表示。

五、Prototype,原型模式:用原型實例來指定創建對象的種類,並且通過拷貝原型來創建新的對象。

行為型的設計模式有:

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

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

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

九、Command,命令模式:將一個請求封裝為一個對象,從而使你可以用不同的請求對用戶進行參數化,對請求排隊和記錄請求日志,以及支持可撤銷的操作。

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

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

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

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

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

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

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

結構型的設計模式有:

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

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

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

二十、Adapter,適配器模式:將一類接口轉換成用戶希望的一類接口,Adapter使得原本由於接口不兼容而不能在一起工作的那些類可以一起工作了。

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

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

二十三、Flyweight,享元模式:它使用共享物件,用來盡可能的減少內存使用量以及分享資訊給盡可能多的相似物件。

Java中介者設計模式 http://www.linuxidc.com/Linux/2014-07/104319.htm

Java 設計模式之模板方法開發中應用 http://www.linuxidc.com/Linux/2014-07/104318.htm

設計模式之 Java 中的單例模式(Singleton) http://www.linuxidc.com/Linux/2014-06/103542.htm

跟JBPM學習設計模式 http://www.linuxidc.com/Linux/2014-06/102861.htm

Copyright © Linux教程網 All Rights Reserved