工廠模式與策略模式的比較

這兩個模式很像,都是用一個專門的類來根據客戶端的條件產生不同的類,實現不同的功能。


簡單工廠模式解決了對象的創建問題,工廠需要包括所有的產品對象的創建,如果產品對象形式經常變化,就需要經常改動工廠,以致代碼重新修改編譯。

爲了解決這個問題,策略模式就誕生了。

 

策略模式定義了一系列算法,分別封裝起來,而不是像簡單產品模式一樣定義所有的產品類,讓他們之間可以互相轉換,此模式讓算法的變化,而不會影響使用算法的客戶,使客戶擁有相同的訪問過程。

策略模式在實踐運用中,可以用來封裝幾乎任何類型的規則,在開發中只要遇到需要在不同時間應用不同的業務規則,可以考慮使用策略模式處理這種變化的可能性。在基本的策略模式中,選擇所用的具體算法的職責由客戶端對象承擔,並轉給策略模式的上下文對象。策略模式中具體的策略類要在客戶端判斷,然後在上下文類中調用方法。


簡單工廠中包含了必要的邏輯判斷,根據客戶端選擇條件動態實例化相關的類。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章