策略模式和工廠模式看著很像,總會讓人混淆,這到底採用的是什麼模式?
工廠模式:
策略模式:
舉例:工廠模式
有一天你決定去吃培根披薩,首先得選擇店鋪,a店和b店都有培根披薩;
你點了a店的培根披薩,過了二十分鐘,你的披薩就來了就可以吃到了。但這個披薩是怎麼做的,到底麵粉放了多少,培根放了多少,佐料放了多少,有多少道工序,你是不需要管的,你需要的是乙個美味培根披薩。
策略模式
在披薩店,你要乙個培根披薩,老闆說有標準的pizza,也可以自己去做。原料有培根、麵粉、佐料。工序有1、2、3工序,你自己去做吧。然後你就需要自己去做,到底放多少培根,放多少麵粉,放多少佐料,這都你自己來決定,工序1、2、3,你是怎麼實現的,都你自己決定。最後你得到了披薩。
大話設計模式 工廠模式 策略模式
工廠模式 以商場收費系統為例。打折 正常 送積分等手段 首先,有乙個抽象類cashsuper 收費操作,有三個繼承cashsuper的子類 cashnormal具體操作,重寫函式 其次,寫乙個cashfactory工廠類,來生產具體的操作類cashnormal等。策略模式 先寫乙個策略抽象類,然後寫...
設計模式 簡單工廠模式 策略模式
名詞理解 工廠 factory 模式我們可以做如下理解,假設有乙個audi的公司生產汽車 似乎也不用假設了 它掌握一項核心的技術就是生產汽車,另一方面,它生產的汽車是有不同型號的,並且在 不同的生產線上進行組裝。當客戶通過銷售部門進行預定後,audi公司將在指定的生產線上為客戶生產出它所需要的汽車。...
設計模式之簡單工廠模式,工廠模式,策略模式
簡單工廠模式 的最大優點是在工廠類中包含了必要的邏輯判斷,根據客戶端的選擇動態例項化相關類,去得到客戶想要的產品。但個人覺得簡單工廠模式的最大優點正是產生它最大缺點之處。因為它的工廠類違反了開放 封閉原則 類,模組,方法等對於擴充套件是開放的,對於更改是封閉的。每當新增乙個功能,我們就需要去修改它的...