設計模式怎樣解決設計問題[1] 尋找合适的對象
面向對象設計最困難的部分是将系統分解成對象集合。因為要考慮許多因素:封裝、依賴關系、靈活性、性能、演化、複用等等,它們都影響着系統的分解,并且這些因素通常都是互相沖突的。
尋找合适的類是為了便于你設計出好用的類,包含了3種設計模式:
Composite模式(組合模式),State模式(狀态模式)以及Strategy模式(政策模式)
Composite模式(組合模式)
javascript:void(0)
組合模式以樹形結構為主,其目的是為了讓用戶端使用的時候不用區分整體與局部之間的差異,整體與局部的調用方法一緻(其實并不好用......)。
State模式(狀态模式)
狀态模式中,需要定義一個狀态虛類,然後将不同狀态的實作延遲到繼承的子類當中,可以解除處理資料類的耦合度,非常實用。
項目源碼:
https://github.com/YouXianMing/StatePattern
Strategy模式(政策模式)