在運行時,根據用戶行爲和歷史記錄,我需要執行排序操作。在我的情況下,SortByDate/SortByDemand/SortByConsumption
只會返回字符串,或者我們可以說按子句排序(可能很複雜)。爲什麼不選擇工廠模式?
在大多數論壇中,我發現戰略模式應該用於排序。
我已經在這裏爲連接策略模式的圖像。 Util類將調用三個類中的一個的對象,即SortByDate/SortByDemand/SortByConsumption
所以每次定義一個新的排序方法時,我需要更改util類並定義一個新的策略。
但如果我實現它使用的工廠,UTIL類只需要調用工廠,它會照顧調用哪個類。所以我認爲我應該使用工廠。
但是我已經讀過這個策略是這種需求的最佳模式。爲什麼這裏的策略模式更好?
基本上你shouldt感興趣的是什麼類型的數據suply爲處理該策略的類。你只需要向該類提供一些數據,並讓該類實現所需的策略。在工廠模式中,您需要了解數據和處理它的類。在戰略模式中,你不需要知道任何事情, – 2012-04-13 10:35:52