架構師修養1 1 工廠模式和策略模式的比較

2021-10-24 16:46:28 字數 499 閱讀 6841

總結

工廠模式可以做到的事情,策略模式都可以做到。策略模式可以做到的事情,工廠模式也可以做到,只是會變得麻煩

工廠模式 有個工廠類,策略模式有個策略上下文

工廠模式屬於建立型模式, 關注物件建立,根據使用者選擇的條件建立物件,強調物件的異同

策略模式屬於行為型模式,關注行為選擇,根據使用者選擇的策略,然後根據該策略做事,強調演算法和實現的異同,策略可以任意替換

簡單工廠

優點:只選擇條件,不負責物件建立

缺點:如果新增條件,需要修改工廠類。

策略模式

優點:選擇交給客戶端,服務端只需要執行策略,有新需求,只是修改客戶端,

缺點:需要客戶端承擔建立物件的職責

工廠模式和策略模式的區別

工廠設計模式,用於建立複雜物件,管理多個不同功能介面 策略模式只是將同一功能的不同實現抽離出來,不需要管理物件 protocol nsobject id map getmap mapview功能 id location getlocation 定位功能 end 實現工廠協議獲取對應的物件 id ma...

策略模式和工廠模式的區別

uml圖 例項在模式結構上,兩者很相似 工廠模式是一種創造模式。戰略模式是一種運營模式。換句話說,工廠模式用於建立特定型別的物件。策略模式用於以特定方式執行乙個操作 或一組操作 在經典示例中,工廠可能會建立不同型別的動物 狗,貓,老虎,而策略模式將執行特定的動作,例如,移動 使用 跑步 步行 或 移...

工廠模式和策略模式的區別

首先來乙個工廠模式的例子 class factoryclass return classname abstract 注意這裡最好寫上返回值型別,在zend studio裡邊可以自動提示一些介面,public static function factory adapter,config array i...