敏捷軟件開發 之第三部分 薪水支付系統案例研究 之設計模式

4月箴言算法

真的猛士,勇於直面慘淡的人生,勇於正視淋漓的鮮血。—— 魯迅數據庫

 

1、COMMAND模式和ACTIVE OBJECTIVE模式設計模式

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:設計模式任重道遠!

相關文章
相關標籤/搜索