温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

如何使用Java策略模式取代if else

发布时间:2022-03-04 14:28:36 来源:亿速云 阅读:218 作者:小新 栏目:开发技术

小编给大家分享一下如何使用Java策略模式取代if else,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!

别再大量的if else了, 代码太简陋了, 可读性太差了.

策略模式的定义

....

简单来说 每个模块相互独立 互不影响 提高代码的可扩展性 !

举栗子, 如下烂代码

if ("花呗支付".equals(type)) {
 
	// 花呗支付的业务逻辑处理
 
} else if ("微信支付".equals(type)) {
 
	// 微信支付业务逻辑
 
} else if ("云闪付".equals(type)) {
 
	// 云闪付支付业务逻辑
 
} else if ("...".equals(type)) {
			
    // ....
}

思考: 可以定义一个支付接口, 支付方法, 不同的支付方式写不同的实现类, 互不干扰, 互不影响, 以后添加新的支付方式, 只需添加新的实现类实现支付接口, 重写他的支付方法即可, 无需改动之前写的代码.

正好今天敲代码的时候 使用到了该设计模式, 简单分享一下

定义接口

如何使用Java策略模式取代if else

定义不同的实现类

如何使用Java策略模式取代if else

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

如何使用Java策略模式取代if else

如何使用Java策略模式取代if else

定义接口

如何使用Java策略模式取代if else

是不是比大量的if else 简洁多了~

把每个不同的模块抽取出来, 通过bean的名称获取接口的实现类, 执行方法

以上是“如何使用Java策略模式取代if else”这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI