策略模式,模板模式,工廠模式

2021-08-13 12:32:09 字數 807 閱讀 2398

自己不關心類是怎麼來的.我想要汽車,直接去 4s 店提就好,不用自己拼零件

spring 的 ioc dagger 都是這種依賴注入框架.

舉個具體應用的例子:

你哪天心情好把類名改了。或者把構造函式引數改了(增加或減少引數)。而你**中又有n處new了這個類。如果你又沒用工廠。那你慘了。乙個乙個找來改吧。漏乙個直接gg.

模板就是父類有個final 修飾的 k方法,k 方法裡執行 abc 三個方法, 其中b可以變化,是抽象方法. 子類繼承父類, 由於子類方法會覆蓋父類方法,所以,重寫b 然後呼叫 父類的k方法時,b就被替換了執行的是子類的b

比如: 點餐,吃飯,買單 吃飯可以變, 點餐和買單是不變的.而且這三個的步驟是不變的

吃飯可以由子類寫為:吃食堂,吃外賣. 蒸羊羔,蒸熊掌,蒸鹿尾兒, 燒花鴨,燒雛雞兒,燒子鵝 ,滷煮鹹鴨,醬雞,臘肉,松花,小肚兒,晾肉,香腸…

策略模式的做法:有幾種方案供你選擇旅行,選擇火車好呢還是騎自行車,完全有客戶自行決定去構建旅行方案(比如你自己需要去買火車票,或者機票)。而工廠模式是你決定哪種旅行方案後,不用關注這旅行方案怎麼給你建立,也就是說你告訴我方案的名稱就可以了,然後由工廠代替你去構建具體方案(工廠代替你去買火車票)。

個人覺得,策略模式是大方向上的規劃,比如坐火車還是坐飛機,而模板是對已經熟知確定的流程中的部分模組進行可變化的替換,比如在客戶已經定下來坐火車的情況下,吃什麼這件必定做的小事的幾種方案.而模板模式的實現方式就又有點**模式的影子.hook 掉關鍵方法的意思.

spring aop, retrofit 都有用到.

核心思想就是狸貓換太子

之前講過**全家桶

工廠模式 策略模式

目前遇到這樣乙個場景,就是會根據前端不同的傳值執行對應的方法策略。按照正常思路,需要在 中使用if判斷前端的值來執行不同的方法。但這樣做的缺點是會造成大量if判斷,且下次新增加乙個值對應乙個策略,那麼就需要改動 對於這種根據值來執行不同策略的場景,可以使用工廠模式 策略模式來解決。既然有策略,那麼我...

記工廠模式,策略模式,模板模式實際使用

定義乙個總的plugin介面 abstractplugin public inte ce abstractplugin定義乙個獲取plugin的context類 component public class plugincontext public static abstractplugin get...

設計模式之簡單工廠模式,工廠模式,策略模式

簡單工廠模式 的最大優點是在工廠類中包含了必要的邏輯判斷,根據客戶端的選擇動態例項化相關類,去得到客戶想要的產品。但個人覺得簡單工廠模式的最大優點正是產生它最大缺點之處。因為它的工廠類違反了開放 封閉原則 類,模組,方法等對於擴充套件是開放的,對於更改是封閉的。每當新增乙個功能,我們就需要去修改它的...