① java 設計模式有那些
設計模式:模式是一種問題的解決思路,它已經適用於一個實踐環境。並且可以適用於其他環境。
設計模式的分類:分布式編程模式,用戶界面模式,數據模型模式三大類。
設計模式的作用:設計的重用;
為設計提供共同的詞彙,每個模式名就是一個設計詞彙,其概念使得程序員的交流變得方便;
在開發文檔中採用模式詞彙可以讓其他人更容易理解你的想法。
GoF設計模式的分類:
根據目的准則分類:
1. 創建型:creational 與對象的創建有關。
2. 結構型:Structural 處理類或對象之間的組合。
3. 行為型:behavioral 描述類或對象如何交互及如何分配職責。
創建型模式
1.抽象工廠模式 AbstractFactory
2.建造者模式 Builder
3.工廠方法模式 Factory Method
4.原型模式 Prototype
5.單例模式 Singleton
結構型模式
1.適配器模式 Adapter
2.橋接模式 Bridge
3.組合模式 Composite
4.裝飾模式 Decorator
5.外觀模式 Facade
6.享元模式 Flyweight
7.代理模式 Proxy
行為模式
1.職責鏈模式 Chain of Responsibility
2.命令模式 Command
3.解釋器模式 Interpreter
4.迭代器模式 Iterator
5.中介者模式 Mediator
6.備忘錄模式 Memento
7.觀察者模式 Observer
8.狀態模式 State
9.策略模式 Strategy
10.模板方法模式 Template Method
11.訪問者模式 Visitor
其他看參考資料
② java設計模式都有哪些
設計模式主要分三個類型:創建型、結構型和行為型。
其中創建型有:
一、Singleton,單例模式:保證一個類只有一個實例,並提供一個訪問它的全局訪問點
二、Abstract Factory,抽象工廠:提供一個創建一系列相關或相互依賴對象的介面,而無須指定它們的具體類。
三、Factory Method,工廠方法:定義一個用於創建對象的介面,讓子類決定實例化哪一個類,Factory Method使一個類的實例化延遲到了子類。
四、Builder,建造模式:將一個復雜對象的構建與他的表示相分離,使得同樣的構建過程可以創建不同的表示。
五、Prototype,原型模式:用原型實例指定創建對象的種類,並且通過拷貝這些原型來創建新的對象。
行為型有:
六、Iterator,迭代器模式:提供一個方法順序訪問一個聚合對象的各個元素,而又不需要暴露該對象的內部表示。
七、Observer,觀察者模式:定義對象間一對多的依賴關系,當一個對象的狀態發生改變時,所有依賴於它的對象都得到通知自動更新。
八、Template Method,模板方法:定義一個操作中的演算法的骨架,而將一些步驟延遲到子類中,TemplateMethod使得子類可以不改變一個演算法的結構即可以重定義該演算法得某些特定步驟。
九、Command,命令模式:將一個請求封裝為一個對象,從而使你可以用不同的請求對客戶進行參數化,對請求排隊和記錄請求日誌,以及支持可撤銷的操作。
十、State,狀態模式:允許對象在其內部狀態改變時改變他的行為。對象看起來似乎改變了他的類。
十一、Strategy,策略模式:定義一系列的演算法,把他們一個個封裝起來,並使他們可以互相替換,本模式使得演算法可以獨立於使用它們的客戶。
十二、China of Responsibility,職責鏈模式:使多個對象都有機會處理請求,從而避免請求的送發者和接收者之間的耦合關系
十三、Mediator,中介者模式:用一個中介對象封裝一些列的對象交互。
十四、Visitor,訪問者模式:表示一個作用於某對象結構中的各元素的操作,它使你可以在不改變各元素類的前提下定義作用於這個元素的新操作。
十五、Interpreter,解釋器模式:給定一個語言,定義他的文法的一個表示,並定義一個解釋器,這個解釋器使用該表示來解釋語言中的句子。
十六、Memento,備忘錄模式:在不破壞對象的前提下,捕獲一個對象的內部狀態,並在該對象之外保存這個狀態。
結構型有:
十七、Composite,組合模式:將對象組合成樹形結構以表示部分整體的關系,Composite使得用戶對單個對象和組合對象的使用具有一致性。
十八、Facade,外觀模式:為子系統中的一組介面提供一致的界面,fa?ade提供了一高層介面,這個介面使得子系統更容易使用。
十九、Proxy,代理模式:為其他對象提供一種代理以控制對這個對象的訪問
二十、Adapter,適配器模式:將一類的介面轉換成客戶希望的另外一個介面,Adapter模式使得原本由於介面不兼容而不能一起工作那些類可以一起工作。
二十一、Decrator,裝飾模式:動態地給一個對象增加一些額外的職責,就增加的功能來說,Decorator模式相比生成子類更加靈活。
二十二、Bridge,橋模式:將抽象部分與它的實現部分相分離,使他們可以獨立的變化。
二十三、Flyweight,享元模式
③ java中都有哪些設計模式
大致有23種
都是表示類與類之間的構架關系 也就是表示對象的邏輯關系
設計模式根據使用類型可以分為三種:
1、 創建模式:工廠模式、單子模式、建造者模式、原型模式、工廠方法模式。
2、 結構模式:外觀模式、代理模式、適配器模式、組合模式、裝飾模式、橋模式、
共享模式。
3、 行為模式:模板模式、紀念品模式、觀察者模式、責任鏈模式、命令模式、聲明模式、
策略模式、中介模式、解釋器模式、訪問模式
說白了模式就是前人經過大量的實踐,總結出來的優化的對象關系 你也可以自己總結出來
④ JAVA23種設計模式
一、大約分為三類:
1、創建型模式(5種):工廠方法模式,抽象工廠模式,單例模式,建造者模式,原型模式。
2、結構型模式(7種):適配器模式,裝飾器模式,代理模式,外觀模式,橋接模式,組合模式,享元模式。
3、行為型模式(11種):策略模式、模板方法模式、觀察者模式、迭代子模式、責任鏈模式、命令模式、備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。
二、設計模式遵循的原則有6個:
1、開閉原則(OpenClosePrinciple)
對擴展開放,對修改關閉。
2、里氏代換原則(LiskovPrinciple)
只有當衍生類毀吵茄可以替換掉基類,軟體單位的功能不受到影碰跡響時,基類才能真正被復用,而衍生類也能夠在基類的基礎上增加新的行為。
3、依賴倒轉原則(DependenceInversionPrinciple)
這個是開閉原則的基礎,對介面編程,依賴於抽象而不依賴於具體。
4、介面隔離原則(InterfaceSegregationPrinciple)
使用多個隔離的借口來降低耦合度。
5、迪米特法則(最少知道原則)(DemeterPrinciple)
一個實體應當盡量少的與其他實體之間發生相互作用,使得系統功能模塊相對獨立。
6、合成復用原則(CompositeReusePrinciple)
原則是盡量使用合成/聚合的方式,而不是使用纖察繼承。繼承實際上破壞了類的封裝性,超類的方法可能會被子類修改。