需求 針對店下商鋪,有這樣一個需求,對用戶客戶分為了普通客戶、vip客戶、超級vip用戶、專屬vip用戶4個等級,每當用戶購買商品時,針對不同的用戶等級和消費金額采取不同的打折優惠策略。在平常的開發當中,必然會出現多層的if-else嵌套判斷,先判斷用戶的等級再判斷用戶購買商品的消費金額 ...
為了防止大量的if...else...或switch case代碼的出現,可以使用策略模式 工廠模式進行優化。 在我的項目當中,報表繁多,所以嘗試了這種方式進行優化報表的架構。代碼很簡單,如下: Factory工廠類 接口 實現類 測試 打印如下: 總結 在平時的工作當中,寫一些業務代碼是無可避免的,但是只要不局限於現狀,往往可以發現不一樣的樂趣。就像我在報表的業務中學習到了策略模式 工廠模式。 ...
2020-11-24 08:17 0 1459 推薦指數:
需求 針對店下商鋪,有這樣一個需求,對用戶客戶分為了普通客戶、vip客戶、超級vip用戶、專屬vip用戶4個等級,每當用戶購買商品時,針對不同的用戶等級和消費金額采取不同的打折優惠策略。在平常的開發當中,必然會出現多層的if-else嵌套判斷,先判斷用戶的等級再判斷用戶購買商品的消費金額 ...
策略模式和工廠模式的搭配使用可以很好地消除代碼if-else的多層嵌套 需求 針對店下商鋪,有這樣一個需求,對用戶客戶分為了普通客戶、vip客戶、超級vip用戶、專屬vip用戶4個等級,每當用戶購買商品時,針對不同的用戶等級和消費金額采取不同的打折優惠策略。在平常的開發當中,必然會 ...
怎么把策略模式和工廠模式結合起來使用 如果大家對策略模式和工廠模式不是很了解的話可以先看前面文章策略模式:https://www.jianshu.com/p/958281936901工廠模式:https://www.jianshu.com/p/9078481e00c6 ...
策略模式和工廠模式相信大家都比較熟悉,但是大家有沒有在springboot中實現策略和工廠模式? 具體策略模式和工廠模式的UML我就不給出來了,使用這個這兩個模式主要是防止程序中出現大量的IF ELSE IF ELSE....。接下來咱們直接實現,項目結構圖: 工廠類 ...
無論工廠還是策略模式,每個具體工具類(工廠模式)/具體策略類(策略模式)中執行方法名都是一樣的,都和抽象工具(工廠模式)/抽象策略(策略模式)中方法名一樣的 1、簡單工廠類 思想:將創建何種工具交由工廠。將原本邏輯if...else...中“變”的部分抽離為具體工具類,調用方通過在工廠中 ...
一.實戰需求:redis-key過期監聽 二.問題:大量key會造成監聽代碼臃腫 三.解決方案:使用策略模式+工廠模式代替if-else 代碼: 第一部分:redis-springboot配置 第二部分:監聽處理器 第三部分:策略接口 ...
Java設計模式中的策略模式(Strategy Patten)定義了一組算法,將每個算法都封裝起來,並且可使它們之間可以相互替換,在客戶端調用它們時可以互不影響。 策略模式主要由三個角色組成 1、抽象策略角色:通常是一個接口或抽象類實現,我們的具體策略類就是繼承或實現這個抽象角色 ...
Context中改動了一些代碼,和簡單工廠模式結合使用: 測試類:測試類中注釋掉的代碼是沒有結合簡單工廠模式的時候在客戶端寫的代碼。 測試 ...