1.MVC涉及到的設計模式有三個,分別是組合模式、策略模式、觀察者模式。
2.View層,單獨實現了組合模式,Model層和View層實現了觀察者模式,View層和Controller層實現了策略模式。
3.(1)組合模式(composite)將對象組合成樹形結構以表示“部分-整體”的層次結構,組合模式使得用戶對單個對象和組合對象的使用具有一致性。
理解:以後一般處理樹形結構的時候一般都使用組合模式,像自己電腦文件夾的解析,xml的解析都是樹形結構。
組合模式練習與應用
模擬清理文件夾中的視頻文件,圖像文件。
觀察者模式(server):
/**
- 觀察者模式
- 廣播機制的場景,聊天室,打遊戲時小地圖的方位
- 把多個訂閱者、客戶稱之爲觀察者,把變化的內容稱之爲目標
- 核心:用於1:N的通知
- 通知觀察者的模式:
- 推:每次都會把通知以廣播方式發送給所有觀察者,所有觀察者只能被動接收
- 拉:觀察者只要知道有情況即可。至於什麼時候獲取內容,獲取什麼內容,都可以自助決定
/
改動一個後,觀察者可以看到數據的改動
策略模式:
/* - 負責和具體的策略類交互
- 這樣的話,具體的算法和直接的客戶端調用分離了,獨立於客戶端的變化
- 如果使用spring的依賴注入功能,還可以通過配置文件,動態的注入不同策略對象,動態的切換不同的算法
- 開發常見的場景:
- JAVASE中GUI編程中,佈局管理
- Spring框架中,Resourse接口,資源訪問策略
- @author zhengtz
*/
根據不同的情況,分配不同的算法,實現典例CRM中報價策略