模式分類:
創建型模式:創建對象或者變量使用的設計模式,可以減少需求更改時對已創建對象帶來的沖擊。
結構型模式:通過繼承和組合得到更靈活的結構,減少更改對結構帶來的沖擊。
行為型模式:通過繼承和組合來劃分類和對象的職責,減少更改對多個交互對象帶來的沖擊。
類模式處理類與子類關系?? 對象模式處理對象間動態關系
關鍵技法:
靜態->動態?
早綁定->晚綁定
繼承->組合
編譯時依賴->運行時依賴
緊耦合->松耦合
1.Template Method模式
使用虛方法,純虛方法提高類擴展性
2.Strategy策略模式
定義一系列算法。把他們一個個封裝起來,并且使它們可互相替換。該模式使得算法可獨立于使用它的客戶程序而變化
就是不同算法間可以互相替換但不會對穩定的產生影響。
通常運用在有許多條件判斷語句的程序中(并且這個條件判斷語句還可能不斷增加)。
3.Observer觀察者模式
定義對象間一種一對多的依賴關系,以便當一個對象的狀態發生改變時,所有依賴它的對象都得到通知并自動更新。
使用Observer模式可以達到松耦合的效果。
目標發送通知時,無需指定觀察者,通知自動傳播。
4.Decorator裝飾模式
動態地給一個對象增加一些額外的職責。就增加功能而言,Decorator模式比生成子類更為靈活。
這種模式避免了類的膨脹,使用組合的手法提高了類之間的靈活性。
5.Bridge橋模式
將抽象部分與實現部分分離,使它們可以獨立變化
對象間組合的關系解耦了抽象和實現之間固有的綁定關系。
解決了多繼承方案對單一職責原則,復用性差的缺點。