Java中如何使用策略模式替代if else语句
作者:EasyWind
时间:2023-04-29
浏览:3
别再大量的ifelse了,代码太简陋了,可读性太差了.策略模式的定义....简单来说每个模块相互独立互不影响提高代码的可扩展性!举栗子,如下烂代码if("花呗支付".equals(type)){//花呗支付的业务逻辑处理}elseif("微信支付".equals(type)){//微信支付业务逻辑}elseif("云闪付".equals(type)){//云闪付支付业务逻辑}elseif("...".equals(type)){//....}思考:可以定义一个支付接口,支付方法,不同的支付方式写不同的实现
本文目录
别再大量的if else了, 代码太简陋了, 可读性太差了.
策略模式的定义
....
简单来说 每个模块相互独立 互不影响 提高代码的可扩展性 !
举栗子, 如下烂代码
if ("花呗支付".equals(type)) {
// 花呗支付的业务逻辑处理
} else if ("微信支付".equals(type)) {
// 微信支付业务逻辑
} else if ("云闪付".equals(type)) {
// 云闪付支付业务逻辑
} else if ("...".equals(type)) {
// ....
}思考: 可以定义一个支付接口, 支付方法, 不同的支付方式写不同的实现类, 互不干扰, 互不影响, 以后添加新的支付方式, 只需添加新的实现类实现支付接口, 重写他的支付方法即可, 无需改动之前写的代码.
正好今天敲代码的时候 使用到了该设计模式, 简单分享一下
定义接口

定义不同的实现类

每个实现类都会处理自己的业务, 互不干扰, 相互隔离, 比如 如下两个实现类 实现了相同接口处理不同的业务


定义接口

是不是比大量的if else 简洁多了~
把每个不同的模块抽取出来, 通过bean的名称获取接口的实现类, 执行方法
作者最新文章
coreldraw位图转为矢量图 转换步骤
2026-11-04 15:25
动漫共和国官网入口在线看
2026-11-04 12:05
京东发布AI餐饮经营工具,已在全国300余家中小餐饮门店落地应用
2026-11-02 10:44
ACfun回家官网入口-acfun网页版免费入口
2026-10-30 14:15
漫蛙manwa漫画官网入口及登录指南2027
2026-10-28 19:07
上一篇:
基于Java怎么实现二维码的生成和解析
下一篇:
怎么用Python发现数据的规律
热门文章
更多
精品专题
更多
Mac软件
更多
WINDOWS
更多

































