4月箴言算法
真的猛士,勇於直面慘淡的人生,勇於正視淋漓的鮮血。數據庫
設計模式
COMMAND模式的巨大好處:經過對命令(command)概念的封裝,解除了除了系統對邏輯互聯關係的是鏈接關係的設備之間的耦合。多線程
適用範圍:數據庫事務操做、設備控制、多線程核心一級GUI的do/undo管理等。函數
2、TEMPLATE METHOD 模式和STRATEGY模式:繼承與委託測試
TEMPLATE METHOD 模式使用繼承來解決問題,STRATEGY模式使用的則是委託。spa
這兩種模式均可以用來分離高層的算法和低層的具體實現細節。都容許高層的算法獨立於它的具體實現細節重用。線程
STRATEGY模式容許具體實現細節獨立於高層的算法重用,不過要以一些額外的複雜性、內存以及運行時間開銷做爲代價!設計
3、FACADE模式和MEDIATOR模式對象
共同點:都把某種策略(policy)施加到另一組對象上。FACADE模式是從上面施加,MEDIATOR模式則是從下面施加。
若是策略涉及範圍普遍且可見,那麼使用FACADE模式從上面施加策略;若是策略隱蔽而且有針對性,那麼MEDIATOR模式是更好的選擇
4、SINGLETON模式和MONOSTATE模式
這兩個模式都是強制對象單一的模式。
SINGLETON模式的好處:跨平臺、適用於任何類、能夠經過派生建立、延遲求值
SINGLETON模式的代價:摧毀方法未定義、不能繼承、效率問題、不透明性。
MONOSTATE模式的好處:透明性、可派生性、多態性
MONOSTATE模式的代價:不可轉換性、效率問題、內存佔用、平臺侷限。
兩個模式的卻別:SINGLETON模式強制結構的單一想,它防止建立多個對象實例;MONOSTATE模式則強制行爲上的單一性,沒有強加結構方面的限制。
MONOSTATE模式類的測試用例對SINGLETON模式類是有效的,可是SINGLETON模式類的測試用例遠不適用於MONOSTATE模式的類。
5、NULL OBJECT模式
使用該模式能夠確保函數老是返回有效的對象,即便在它失敗時也是如此,這些失敗的對象「什麼也不作」。
目前只是瞭解到這些設計模式,在以前的開發過程當中,只有SINGLETON模式是明確使用過的,
其餘的仍是有點雲裏霧裏,還須要繼續瞭解示例,準確理解這幾種設計模式!
關於設計模式的使用,濫用之類相關是須要特別注意的!不要爲了使用設計模式而使用,那就是濫用了!
PS:設計模式任重道遠!