最近在工作中優化了一段冗余的if else代碼塊,感覺對設計模式的理解和運用很有幫助,所以分享出來。鑒於原代碼會涉及到公司的隱私,因此就不貼出來了。下面以更加通俗易懂的案例來解析。 假如寫一個針對員工上班不遵守制度做相應懲罰的程序,比如,上班遲到:罰100;上班睡覺:罰1000;上班早退:警告 ...
http: www.cnblogs.com pfblog p .html 最近在工作中優化了一段冗余的if else代碼塊,感覺對設計模式的理解和運用很有幫助,所以分享出來。鑒於原代碼會涉及到公司的隱私,因此就不貼出來了。下面以更加通俗易懂的案例來解析。 假如寫一個針對員工上班不遵守制度做相應懲罰的程序,比如,上班遲到:罰 上班睡覺:罰 上班早退:警告 上班玩游戲:嚴重警告 上班談戀愛:開除等,通 ...
2017-11-17 11:12 1 7692 推薦指數:
最近在工作中優化了一段冗余的if else代碼塊,感覺對設計模式的理解和運用很有幫助,所以分享出來。鑒於原代碼會涉及到公司的隱私,因此就不貼出來了。下面以更加通俗易懂的案例來解析。 假如寫一個針對員工上班不遵守制度做相應懲罰的程序,比如,上班遲到:罰100;上班睡覺:罰1000;上班早退:警告 ...
多個if-else代碼: 上面只統計了3個學習時間,如果我們要寫其他的學習時間就需要繼續添加if-else,如果業務很復雜,那么這個代碼看起來會很亂,不方便維護; 下面用策略模式和工廠模式優化該if-else; 1. 定義抽象策略角色(接口) 2. ...
前言 利用利用策略模式實際開發中 if else 條件判斷過多的問題 比如平時大家是否都會寫類似這樣的代碼: 條件少還好,一旦 else if 過多這里的邏輯將會比較混亂,並很容易出錯。 比如這樣: 摘自 cim 中的一個客戶端命令的判斷條件。 剛開始條件較少,也就 ...
前言 不出意外,這應該是年前最后一次分享,本次來一點實際開發中會用到的小技巧。 比如平時大家是否都會寫類似這樣的代碼: 條件少還好,一旦 else if 過多這里的邏輯將會比較混亂,並很容易出錯。 比如這樣: 摘自 cim 中的一個客戶端命令的判斷條件。 剛開始條件 ...
需求: 假設有這么一個需求: 一個電商系統,當用戶消費滿1000 金額,可以根據用戶VIP等級,享受打折優惠。根據用戶VIP等級,計算出用戶最終的費用。 普通會員 不打折 白銀會員 優惠50元 黃金會員 8折 白金會員 優惠50元,再打7折 工廠+策略 ...
針對代碼中,過多的 if ... else ..,如何優化減少if else呢?(非常重要的優化技巧) 缺點:過多的if else 導致閱讀不方便,邏輯過於復雜,代碼多長。 解決方法:可以采用多個方法,分清步驟和各種情況邏輯作為一個方法,將其中的if..else..分開 ...
最近完成了我們公司的公眾號開發,在微信消息路由選擇的時候一開始都是用if-else 來判斷,后面if-else月寫越多顯得十分的亂。在網上簡單查了一下解決方法,果然有不少干貨,感覺最經典最簡潔的還是使用策略模式來重構過多的if-else 選擇。 首先我們新建一個interface ...
,具體代碼大致如下: 簡單工廠模式 倒不是說這段代碼寫得有多么糟糕,而是項目中有好幾處都這樣去使用 ...