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