專業知識練工房
設計模式-建構可擴展/易維護的物件導向軟體
OO概念-抽象/封裝/多型/繼承
物件導向原則 1.把會變的東西封裝起來
2.多用組合,少用繼承
3.針對介面撰寫程式,而不是針對實作
4.努力為彼此互動的物件做出鬆耦合設計
5.類別應該歡迎擴展,但拒絕修改
6.要依賴抽象,不要依賴具體類別
Page 596
模式
敘述
裝飾器
包裝成物件來提供新行為
狀態
封裝成狀態行為
,並使用委託來切換不同行為
迭代器
提供一種方式來遍歷物件集合
,而且部會公開集合實作
門面
簡化一組類別的介面
策略
封裝可互換行為
,並使用委託來決定該使用哪一個
代理
包裝一個物件在某個狀態改變時收到通知
工廠方法
用子類別來決定要建立哪個具體類別
轉接器
包裝一個物件
並未他提供不同的介面
觀察者
讓一群物件在某個狀態改變收到通知
樣板方法
用子類別來決定如何實作演算法步驟
組合
讓用戶端用一致的方式來對待物件集合與個別物件
單例
確保只有一個物件被做出來
抽象工廠
可讓用戶端建立一系列的物件
,而且不需要指令它們的具體類別
命令
將請求封裝成物件