网站如何接入银联支付_设计模式之策略模式实战案例,如何对接支付宝、微信、银联支付?...

本文通过策略模式实战讲解如何重构聚合支付平台,对接支付宝、微信、银联支付。介绍了策略模式的原理和在减少多重if判断中的应用,详细阐述了策略模式的架构图和环境搭建过程。
摘要由CSDN通过智能技术生成

设计模式之策略模式实战案例,如何重构聚合支付平台,对接支付宝、微信、银联支付?


写在前面:设计模式源于生活,而又高于生活!

为什么要使用设计模式重构代码

使用设计模式可以重构整体架构代码、提高代码复用性、扩展性、减少代码冗余问题。Java高级工程师装逼的技能!

什么是策略模式

策略模式是对算法的包装,是把使用算法的责任和算法本身分割开来,委派给不同的对象管理,最终可以实现解决多重if判断问题。

1.环境(Context)角色:持有一个Strategy的引用2.抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类所需的接口。3.具体策略(ContextStrategy)角色:包装了相关的算法或行为。

策略模式应用场景

比如搭建聚合支付平台的时候,这时候需要对接很多第三方支付接口,比如支付宝、微信支付、银联支付等。通过传统if代码判断的,后期的维护性非常差!

public  String toPayHtml2(String payCode){    if(payCode.equals("ali_pay")){        return  "调用支付宝接口...";    }    if(payCode.equals("union_pay")){        return  "调用银联支付接口";    }    if(payCode.equals("weChat_pay")){        return  "调用微信支付接口...";    }    return  "未找到该接口...";}

这时候可以通过策略模式解决多重if判断问题。

策略模式架构图

9aa9bdcaf60e80958b4c6871212a92f2.png

策略模式环境搭建

Maven依赖信息

org.springframework.boot        spring-boot-starter-parent        2.0.1.RELEASEorg.springframework.boot            spring-boot-starter-web        org.projectlombok            lombok            1.16.10commons-lang            commons-lang            2.6org.mybatis.spring.boot            mybatis-spring-boot-starter            1.1.1mysql            mysql-connector-java        

PayStrategy(抽象角色)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值