java常見的設計模式簡介

//常用設計模式簡介

創建型模式,共五種:工廠方法模式、抽象工廠模式、單例模式、建造者模式、原型模式。

結構型模式,共七種:適配器模式、裝飾器模式、代理模式、外觀模式、橋接模式、組合模式、享元模式。

行爲型模式,共十一種:策略模式、模板方法模式、觀察者模式、迭代器模式、責任鏈模式、命令模式、
							備忘錄模式、狀態模式、訪問者模式、中介者模式、解釋器模式。

1)代表各個設計模式的簡介
2)代表各個設計模式的應用場景
3)代表目的和優勢
(*)代表重點掌握
							
一、工廠方法(*)
1)創建過程延遲到子類,返回抽象
2)dataSource接口
3)不同條件下創建不同實例

二、抽象工廠
1)一個工廠裏聚合多個同類產品
2)

三、單例模式(*)
1)系統中該類實例只有一個,構造器私有,暴露公有訪問方法
2)Spring框架中所有的Bean默認是單例
3)節約開銷和資源

四、原型模式(*)
1)對象克隆
2)struts2中Action的Bean配置
3)快速產生相同的對象

五、建造者模式
1)使用多個簡單的對象一步一步構建成一個複雜的對象
2)
3)將一個複雜的構建與其表示相分離

六、適配器模式
1)解決兼容性匹配問題
2)電源適配器、讀卡器
3)轉換匹配,複用功能

七、代理模式(*)
1)代理對象代表真實對象
2)jdk動態代理,aop代理,持久層的延遲加載
3)控制對象的訪問

八、外觀模式(*)
1)提供一個門面封裝內部細節,簡化客戶端調用
2)javaEE中每個service都是衆多dao的門面,客戶端無需與多個dao打交道
3)封裝交互、簡化調用

九、裝飾器模式
1)向一個現有的對象添加新的功能,同時又不改變其結構
2)

十、橋接模式(*)
1)分離抽象和實現
2)javaEE中讓dao層管理持久層,讓sevice層管理業務邏輯。
3)便與切換多個實現,解耦

十一、策略模式(*)
1)不同對象採用不用策略
2)Hibernate配置文件中配置數據庫方言,便於切換數據庫
3)分離算法,選擇實現

十二、模板方法
1)固定骨架
2)HibernateTemplate等公共類
3)複用代碼

十三、責任鏈模式(*)
1)如果一個對象不能處理該請求,那麼它會把相同的請求傳給下一個接收者,依此類推
2)web中的攔截器和過濾器
3)分離職責,動態組合

十四、命令模式(*)
1)把命令當請求或參數
2)java8裏面的lambda表達式,回調函數
3)封裝請求

十五、觀察者模式(*)
1)一個對象變化時,其它依賴該對象的對象收到通知
2)java事件機制、java監聽器等底層實現。JMS中發佈訂閱模型的實現
3)觸發聯動

十六、迭代器模式
1)以統一的方式訪問聚合對象中的各個元素,而不用暴露對象內部細節
2)Iterator迭代器的使用
3)控制對象的訪問

十七、中介者模式
1)讓中介封裝交互,簡化調用
2)機場調度系統
3)封裝交互,解耦

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章