扫码阅读
手机扫码阅读

策略模式-如何避免注入为NULL问题

92 2024-08-06

我们非常重视原创文章,为尊重知识产权并避免潜在的版权问题,我们在此提供文章的摘要供您初步了解。如果您想要查阅更为详尽的内容,访问作者的公众号页面获取完整文章。

查看原文:策略模式-如何避免注入为NULL问题
文章来源:
码农周星星
扫码关注公众号
策略模式在支付功能中的应用摘要

策略模式概念

策略模式允许在运行时更改类的行为或算法,属于行为型设计模式。使用策略模式,可以避免多重条件判断,简化代码维护,并且良好支持扩展性。然而,策略模式会增加额外的类管理。适用于业务逻辑中有许多条件判断或系统中有多个行为几乎相同的类时。

策略模式-用户支付-解决注入NULL问题

场景描述

以用户支付为例,采用策略模式编写代码,解决策略模式中service层注入为NULL的问题。

解决方案

  1. 定义支付方式枚举类,包含微信支付和支付宝支付,每种支付方式对应一个type值。
  2. 创建策略上下文类,通过构造方法注入所有策略类,确保不为空。
  3. 定义策略接口类,作为所有支付服务对外的接口。
  4. 实现具体策略类,例如微信支付和支付宝支付类。
  5. 注入策略上下文类,根据type值调用对应的支付策略。

代码实例

定义了微信支付和支付宝支付的枚举类、策略上下文类、策略接口以及具体策略类。通过枚举类管理不同的支付类型,策略上下文类负责根据type值获取相应的策略实例,并通过策略接口调用具体的支付方法。

使用方式

直接注入策略上下文类,并通过type值调用策略上下文的getStrategyByType方法来获取相应的策略实例进行支付。

想要了解更多内容?

查看原文:策略模式-如何避免注入为NULL问题
文章来源:
码农周星星
扫码关注公众号