[Design Pattern]Template Method模式
字面意思 Template [ˈtɛmplɪt] n. 樣板,模板,型板 ...
字面意思 Template [ˈtɛmplɪt] n. 樣板,模板,型板 ...
字面意思 Singleton [ˈsɪŋgḷtən] n.獨生子,獨身,單件 ...
字面意思 observer [əbˈzə:və] n.觀察者,觀察員 ...
稍微過濾整理了一下Design Pattern的學習資源,下面的資源寫的應該都不會太差。也感謝水瓶大與hatelove大的補充。 ...
字面意思 adapter[əˈdæptɚ] n. (名詞 noun) 改編者;改寫者 【機】接合器;轉接器 適應者;適應物 意圖 將一個類別的接口轉換成另一個接口。 使原本因接口而不能使用的類別轉換成可以使用的。 創建新的接口。 口訣 換個包裝二度利用。 問題 現有類別的資料與功能都正確,但接口不符導致無法直接使用。 效果 使原有類別能夠不受接口的限制,直接拿來使用。 實現方法 將原有類別包裝在一個包裝用的類別。讓包裝用的類別與需要的接口匹配,並透過包裝用的類別來使用原有類別的方法。 相關連結 Wiki-Adapter Pattern
字面意思 strategy [ˈstrætidʒi] n.戰略,策略 意圖 根據情況的不同,採用不同的演算法則。 使演算法可獨立於使用它的客戶而變化。 定義一系列的演算法,把它們一個個封裝起來,並使它們可相互替換。 口訣 把演算法則整個換掉。 問題 需要依客戶或是數據的不同採用不同的演算法則。 效果 定義了一系列的演算法則。 可不使用Switch或判斷陳述式。 必須以相同的方式叫用所有的演算法。 必須擁有相同的接口。 實現方法 定義一個抽象類。 每個繼承該抽象類的子類別需按需求實現演算法。 相關連結 Wiki-Strategy Pattern
字面意思 facade [fəˈsɑ:d] n.建築物的正面,外表 意圖 為子系統提供一個統一的高層接口,使子系統更容易使用。 希望簡化原有系統的使用方式。 需要定義自己的接口。 為了簡化接口。 口訣 單一窗口。 問題 只需使用某個複雜系統的部份功能,或者,需要以一種特殊的方式與系統交互。 效果 簡化使用的過程,但是只能使用部份的功能。 實現方法 定義一個或多個具有接口的新類別 讓新的類別使用原有的系統 使用時機 當只需使用某複雜系統的部份功能。 希望封裝或隱藏系統。 希望為系統增加新的功能。 使用此模式所需的代價小於學會使用或未來維護系統的成本。 相關連結 Wiki-Facade Pattern