設計模式之策略模式

        說起策略模式,簡單的幾句話就是利用java的繼承和多態實現的。就是一個接口,有自己的實現,在提供一個策略類去選擇那個實現去完成任務。

        比如:最近在寫rocketmq的時候,對於生產中有幾種類型,第一種簡單發送,第二種順序發送,第三種事務發送消息,這個時候我們就可用到策略模式去實現這個功能。而策略模式和工廠模式差不多,我們在糾結用工廠還是策略模式的時候,我覺得最重要的一點是:工廠是在造一個對象,封裝了對象的創建過程,你想要實現的就是想規避他的創建,而策略重在客服端有很多種情況,爲了避免出現錯誤過多的條件判斷,可以用策略模式解決。

        策略模式的類圖:

        



        但是策略模式也有一個問題,策略類簡單很繁多,難以維護,第二算法要全部的暴露出去。

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