当前位置: 首页 > news >正文

Java代码实现策略模式处理支付付款业务

1.需求:因为付款功能集成的第三方支付SDK越来越来多不好维护,改用策略模式实现,来代替代码中多余的if else 判断。

2.什么是策略模式?

策略模式(Strategy Pattern)是一种行为型设计模式,它允许在运行时选择算法的行为。该模式将不同的算法封装成独立的策略类,并使这些策略类可以互相替换,从而使得算法可以独立于客户端代码进行变化。

在策略模式中,有三个核心角色:

        2.1.环境(Context):环境对象持有一个对抽象策略类的引用,并通过调用其方法来执行具体的算法。

        2.2.抽象策略(Strategy):抽象策略定义了一个公共接口或抽象类,所有具体策略都必须实现该接口或继承该抽象类。

        2.3.具体策略(Concrete Strategy):具体策略是实现了抽象策略定义的接口或继承了抽象类的具体实现。

3.策略模式的UML图示:

 4.代码示例:

Pay代码示例如下:

/*** 策略接口*/
public interface Pay {void pay();}

WeChatPay 代码示例如下:

import com.design.design_demo.strategy.Pay;
import o
http://www.lryc.cn/news/479443.html

相关文章:

  • unity3d————四元数概念
  • spring相关的面试题
  • STM32外设之SPI的介绍
  • 二十三、Mysql8.0高可用集群架构实战
  • docker file 精简规则
  • 前端加密方式详解与选择指南
  • 【React】条件渲染——逻辑与运算符
  • MATLAB中eig函数用法
  • Chrome(谷歌浏览器中文版)下载安装(Windows 11)
  • Linux 配置JDK
  • 目前主流的人工智能学习框架有哪些?
  • 100种算法【Python版】第57篇——贝叶斯优化算法
  • 在Ubuntu 上实现 JAR 包的自启动
  • 【智能算法应用】哈里斯鹰算法优化二维栅格路径规划问题
  • 单品年销10亿!看麻辣王子是如何布局软文营销为品牌赋能的?
  • 【开源免费】基于SpringBoot+Vue.JS医院管理系统(JAVA毕业设计)
  • C++:模拟实现STL的string
  • 【Python TensorFlow】入门到精通
  • 数据结构:七种排序及总结
  • 【安当产品应用案例100集】030-使用企业微信登录Windows,实现工作电脑与业务系统登录方式统一
  • 大数据数据存储层MemSQL, HBase与HDFS
  • 【HarmonyOS】鸿蒙应用设置控件通用样式AttributeModifier, @Styles
  • Scala IF...ELSE 语句
  • 快速上手vue3+js+Node.js
  • 06 网络编程基础
  • Python 的 FastApi 如何在request 重复取request.body()
  • qt QFontDialog详解
  • AI时代,通才可能会占据更有利的地位
  • qt QHeaderView详解
  • 探索PickleDB:Python中的轻量级数据存储利器