色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內(nèi)不再提示

不會有人不知道怎么優(yōu)雅的替換if-else語句吧

5jek_harmonyos ? 來源:CSDN ? 作者:飯一碗 ? 2021-07-28 15:46 ? 次閱讀

來自:love1024.blog.csdn.net/article/details/104955363

場景日常開發(fā),if-else語句寫的不少吧??當邏輯分支非常多的時候,if-else套了一層又一層,雖然業(yè)務功能倒是實現(xiàn)了,但是看起來是真的很不優(yōu)雅,尤其是對于我這種有強迫癥的程序“猿”,看到這么多if-else,腦袋瓜子就嗡嗡的,總想著解鎖新姿勢:干掉過多的if-else!!!本文將介紹三板斧手段:

優(yōu)先判斷條件,條件不滿足的,邏輯及時中斷返回;

融入策略模式;

策略模式+工廠+單例模式,錦上添花;

接下來先附上一段很久以前自己寫的業(yè)務代碼,核心邏輯就是在支付回調中根據(jù)用戶購買的價格包賦予用戶對應的權益(VIP視頻會員天數(shù)+抽獎機會次數(shù))。我的天,太多if-else了……(看不清楚可以點擊圖片放大)

b20b1b9e-ecdb-11eb-a97a-12bb97331649.png

1.優(yōu)先判斷條件,不滿足及時中斷

這點非常容易理解,就是說在業(yè)務邏輯里面,先把不符合條件的給先過濾掉,而不是層層嵌套if-else判斷,結合代碼圖看一下:

b493bb28-ecdb-11eb-a97a-12bb97331649.png

b51b978c-ecdb-11eb-a97a-12bb97331649.png

2.策略模式改造

先用策略模式替換掉文章開頭講到的,用戶充值后根據(jù)價格包(付的多少錢)給用戶增加VIP天數(shù)及抽檢機會次數(shù)的邏輯,我這里就簡化成“根據(jù)-價格包區(qū)分給用戶增加不同的體育會員視頻VIP天數(shù)”這個動作來講解:

b52a462e-ecdb-11eb-a97a-12bb97331649.png

b83ace38-ecdb-11eb-a97a-12bb97331649.png

b8500ce4-ecdb-11eb-a97a-12bb97331649.png

b85e8ff8-ecdb-11eb-a97a-12bb97331649.png

b87995dc-ecdb-11eb-a97a-12bb97331649.png

表面上看,代碼稍微優(yōu)雅了點,但是還是沒和if-else徹底說拜拜,且recharge()充值方法可單獨拎出來,只需要根據(jù)priceCode實例化不同的策略對象即可:

b898b7d2-ecdb-11eb-a97a-12bb97331649.png

3.策略模式+工廠+單例模式,錦上添花

接下來使用“工廠類+單例”來給代碼加點料:

b8a4a240-ecdb-11eb-a97a-12bb97331649.png

b8d5258c-ecdb-11eb-a97a-12bb97331649.png

編輯:jq

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學習之用,如有內(nèi)容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 開發(fā)
    +關注

    關注

    0

    文章

    370

    瀏覽量

    40872

原文標題:三種方式,教你優(yōu)雅的替換if-else語句!

文章出處:【微信號:harmonyos_developer,微信公眾號:harmonyos_developer】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    真的還有人不知道PH計有什么作用嗎?

    PH計
    jzyb
    發(fā)布于 :2024年11月28日 10:19:31

    DDC112U的clk和conv信號一定要同步嘛,不同步會不會有問題?

    DDC112U的clk和conv信號一定要同步嘛,不同步會不會有問題
    發(fā)表于 11-18 08:03

    關于陶瓷電路板你不知道的事

    陶瓷電路板(Ceramic Circuit Board),又稱陶瓷基板,是一種以陶瓷材料為基體,通過精密的制造工藝在表面形成電路圖形的高技術產(chǎn)品,快來看看哪些是您還不知道的事?
    的頭像 發(fā)表于 10-21 11:55 ?372次閱讀
    關于陶瓷電路板你<b class='flag-5'>不知道</b>的事

    請問TPA3116D2/TPA3110D2/TPA3113D2直接用24V供電會不會有被燒掉的危險?

    請問一下,TI的D類功放,都寫的電壓范圍為26V,我直接用24V供電會不會有被燒掉的危險?之前使用一個國產(chǎn)芯片仿3110的。標的電壓是16V,用12V老是燒。TI的芯片不知道不會有類似問題。標26V的直接上24V是否安全!
    發(fā)表于 10-15 08:17

    應該不會有人不知道雙法蘭液位變送器的安裝說明

    變送器
    jzyb
    發(fā)布于 :2024年09月18日 09:51:07

    差分儀表運放的電阻電容混接會不會有問題?

    我的電路如上圖所示,輸入端由外部接入,不接時就是懸空。 1)兩個1M電阻用于輸入懸空時保證輸出為0附近; 2)電容用作濾波退藕。 請問電阻電容這么混接會不會有問題,例如振蕩啥的?(外部輸入信號為直流。)
    發(fā)表于 09-10 08:23

    ESP32會不會有多線程問題,需要加鎖嗎?

    ESP32會不會有多線程問題,需要加鎖嗎
    發(fā)表于 07-19 08:05

    不會吧有人不知道壓力表的工作原理!

    壓力表
    jzyb
    發(fā)布于 :2024年07月01日 10:15:19

    不會吧!熱電偶是什么還有人不知道

    熱電偶
    華泰天科
    發(fā)布于 :2024年06月29日 11:04:50

    不會吧!還有人不知道雷達液位計是怎么安裝的?一個視頻帶你了解

    液位計
    jzyb
    發(fā)布于 :2024年06月29日 10:52:24

    不會吧! 還有人不知道電磁流量計的安裝方式

    電磁流量計
    華泰天科
    發(fā)布于 :2024年06月13日 09:17:58

    不會吧有人不知道超聲波流量計的注意事項

    流量計
    華泰天科
    發(fā)布于 :2024年06月06日 10:24:01

    大無語事件!還有人不知道什么是電容料位計

    料位計
    jzyb
    發(fā)布于 :2024年05月24日 10:46:14

    輥壓機軸承位磨損修復你不知道的那些事

    電子發(fā)燒友網(wǎng)站提供《輥壓機軸承位磨損修復你不知道的那些事.docx》資料免費下載
    發(fā)表于 03-12 15:10 ?0次下載

    使用Keil編譯的時候else里的語句沒有編譯是怎么回事?

    最近遇到了一個編譯問題,我在stm32f4xx_it.c文件中的CAN2_RX0_IRQHandler函數(shù)里編寫了一個if——else if ——else語句,但調試的時候發(fā)現(xiàn)elseif
    發(fā)表于 03-11 06:42
    主站蜘蛛池模板: 岛国大片在线观看完整版| 果冻传媒视频在线播放| 麻豆影视在线直播观看免费| 正能量不良WWW免费窗口| 免费一级片网站| 城中村快餐嫖老妇对白| 石原莉奈rbd806中文字幕| 国产精自产拍久久久久久蜜 | 亚洲精品无码成人AAA片| 久草网国产自偷拍| proburn中文破解版下载| 123成人站| 青青涩射射| 国产在线精品视频免费观看| [高清无码] 波多野结衣| 成人动漫bt种子| 亚洲精品蜜夜内射| 男人私gay挠脚心vk视频| 国产电影午夜成年免费视频| 一攻多受高h大总攻| 日韩精品免费在线观看| 精品国产免费第一区二区| chinesetoilet美女沟| 亚洲国产成人综合| 欧美18videosex| 精品国产乱码久久久久久免费 | 国产午夜婷婷精品无码A片 | 国产精品久久久久久亚洲毛片| 影音先锋 av天堂| 色久久久综合88一本道| 久久人妻少妇嫩草AV无码| 国产高清-国产av| 6080伦理久久亚洲精品| 亚洲AV國產国产久青草| 欧美精品色视频| 久久精品一卡二卡三卡四卡视频版| 凤楼app| 99免费在线观看| 印度12 13free| 性xxx免费| 肉色无边(高h)|