广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Java如何优雅替换if-else语句
  • 138
分享到

Java如何优雅替换if-else语句

2024-04-02 19:04:59 138人浏览 泡泡鱼

Python 官方文档:入门教程 => 点击学习

摘要

目录场景1.优先判断条件,不满足及时中断2.策略模式改造3.策略模式+工厂+单例模式,锦上添花场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套

场景

日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套了一层又一层,虽然业务功能倒是实现了,但是看起来是真的很不优雅,尤其是对于我这种有强迫症的程序"猿",看到这么多if-else,脑袋瓜子就嗡嗡的,总想着解新姿势:干掉过多的if-else!!!

本文将介绍三板斧手段:

  • 优先判断条件,条件不满足的,逻辑及时中断返回;
  • 融入策略模式;
  • 策略模式+工厂+单例模式,锦上添花;

接下来先附上一段很久以前自己写的业务代码,核心逻辑就是在支付回调中根据用户购买的价格包赋予用户对应的权益(VIP视频会员天数+抽奖机会次数)。我的天,太多if-else了……(看不清楚可以点击图片放大)

1.优先判断条件,不满足及时中断

这点非常容易理解,就是说在业务逻辑里面,先把不符合条件的给先过滤掉,而不是层层嵌套if-else判断,结合代码图看一下:

  

2.策略模式改造

先用策略模式替换掉文章开头讲到的,用户充值后根据价格包(付的多少钱)给用户增加VIP天数及抽检机会次数的逻辑,我这里就简化成"根据-价格包区分给用户增加不同的体育会员视频VIP天数"这个动作来讲解:

表面上看,代码稍微优雅了点,但是还是没和if-else彻底说拜拜,且recharge()充值方法可单独拎出来,只需要根据priceCode实例化不同的策略对象即可:

3.策略模式+工厂+单例模式,锦上添花

接下来使用"工厂类+单例"来给代码加点料:

到此这篇关于Java如何优雅替换if-else语句的文章就介绍到这了,更多相关Java替换if-else语句内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Java如何优雅替换if-else语句

本文链接: https://www.lsjlt.com/news/131774.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Java如何优雅替换if-else语句
    目录场景1.优先判断条件,不满足及时中断2.策略模式改造3.策略模式+工厂+单例模式,锦上添花场景 日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-else套...
    99+
    2022-11-12
  • Java中如何替换if-else语句
    今天就跟大家聊聊有关Java中如何替换if-else语句,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。场景日常开发,if-else语句写的不少吧??当逻辑分支非常多的时候,if-el...
    99+
    2023-06-20
  • 如何用c++表驱动替换if/else和switch/case语句
    目录C++的表驱动法 一、常用示例 二、表驱动法三、C++实现注意 四、实用案例C++的表驱动法 目的:使用表驱动法,替换复杂的if/else和switch/ca...
    99+
    2022-11-12
  • PHP如何使用if...else语句
    这篇文章给大家分享的是有关PHP如何使用if...else语句的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。PHP - if...else 语句请使用 if....else 语句...
    99+
    2022-10-19
  • js如何使用switch case替换 if/else
    这篇文章给大家分享的是有关js如何使用switch case替换 if/else的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用 switch case 替换 if/elseswitch case 相...
    99+
    2023-06-03
  • 如何在Shell中使用if else语句
    如何在Shell中使用if else语句?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。if 语句最简单的用法就是只使用 if 语句,它的语法格式为:if condit...
    99+
    2023-06-06
  • 如何使用Shell脚本if else语句
    这篇文章主要介绍“如何使用Shell脚本if else语句”,在日常操作中,相信很多人在如何使用Shell脚本if else语句问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”如何使用Shell脚本if els...
    99+
    2023-06-09
  • 如何避免写出糟糕if...else语句
    如何避免写出糟糕if...else语句,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。在写代码的日常中,if......
    99+
    2022-10-19
  • java中如何优化大量if...else...
    本文小编为大家详细介绍“java中如何优化大量if...else...”,内容详细,步骤清晰,细节处理妥当,希望这篇“java中如何优化大量if...else...”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。策...
    99+
    2023-07-05
  • MySQL IF ELSE 语句如何在存储过程中使用
    在MySQL中,可以使用IF ELSE语句在存储过程中进行条件判断和逻辑分支控制。以下是一个示例:```mysqlDELIMITER...
    99+
    2023-10-10
    MySQL
  • MySQL IF ELSE 语句如何在存储过程中使用?
    MySQL IF ELSE 语句在表达式计算结果为 false 时实现基本条件构造。其语法如下 -IF expression THEN statements; ELSE else-statements; END IF;语句必须以...
    99+
    2023-10-22
  • 如何优化Java代码中大量的if/else
    这篇文章主要介绍了如何优化Java代码中大量的if/else的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇如何优化Java代码中大量的if/else文章都会有所收获,下面我们一起来看看吧。观点一(灵剑)前期迭代...
    99+
    2023-07-05
  • 如何在java中使用if分支语句
    如何在java中使用if分支语句?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。Java的特点有哪些Java的特点有哪些1.Java语言作为静态面向对象编程语言的代表,实现了...
    99+
    2023-06-14
  • java中如何使用if语句判断字符串是否相等
    首先分析使用 ==(注意:Java中 = 是赋值运算符,== 是比较是否相等) 和 equals()方法 来比较两个字符串相等的区别:==比较的是两个字符串的地址是否为相等(同一个地址),equals()方法比较的是两个字符串对象的内容是否...
    99+
    2016-06-24
    java if语句 判断 字符串 相等
  • java中如何使用if语句判断字符串是否为空或null
    首先,区分空串和null串 空串""是长度为0的字符串,它有自己的串长度(0)和内容(空),判断一个字符串为空的方法:if (str.length() == 0);或if (str.equals(""));在线java学习视频教程推荐:ja...
    99+
    2018-10-22
    java if 判断 字符串 null
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作