状态机(FSM)、状态模式在金融支付系统中的应用(一)


前言

想必大家对23中设计模式中的状态模式应该或多或少都有一定了解,但是在具体工作中可能由于没有复杂的场景或者没有对状态模式有深刻的理解不知道怎么应用,今天会以金融支付系统实际应用场景为例演示状态模式和状态机的应用

1.什么是状态模式有什么优劣势?

还不知道状态模式的可以看一下 大话设计模式 - 状态模式 ,官方解释一句话概括:“允许一个对象在其内部状态改变时改变它的行为。对象看起来似乎修改了它的类,(State Pattern)是设计模式的一种,属于行为模式。”第一次听说可能不是很好理解,但是我们可以认为实际场景中涉及到状态的变更场景如最典型电商发货会有:已发货、已收获,之类的状态,而我个人理解状态模式在实际工作中最大的优势就是:
在这里插入图片描述

*减少各种状态重复的if else判断导致的代码出错以及整洁度
*各个状态本身可以处理自己的状态以及下一状态的流转实现单一职责

但是软件设计没有完美一说,状态模式的劣势和设计不足也很容易体现:

*各种状态由于是独立一个类会导致类的暴增
*增加新的状态的时候不可避免的会违反开闭原则&#x

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值