## 状态设计模式
###
对象的⾏为依赖于它的状态(属性),并且可以根据它的状态改变⽽改变它的相关⾏为 ,属于⾏为型模式允许⼀个对象在其内部状态改变时改变它的⾏为。
状态模式是策略模式的孪⽣兄弟,它们的UML图是⼀样的,但实际上解决的是不同情况的两种场景问题。
⼯作中⽤的不多,基本策略模式⽐较多。
###
![](https://img.kancloud.cn/ee/86/ee867fc9a1d697723e63c27478eac093_1597x827.png)
###
## 应⽤场景
⼀个对象的⾏为取决于它的状态, 并且它必须在运⾏时刻根据状态改变它的⾏为
代码中包含⼤量与对象状态有关的条件语句 ,⽐如⼀个操作中含有庞⼤的多分⽀的条件if else语句,且这些分⽀依赖于该对象的状态
电商订单状态:未⽀付、已⽀付、派送中,收货完成等状态,各个状态下处理不同的事情
###
## 具体实现(**云效代码study-java项目当中设计模式当中有代码案例**)
###
业务需求:
电商订单状态流转,每步都有不同的操作内容: 新建订单/已⽀付/已发货/确认收货
###
![](https://img.kancloud.cn/34/e3/34e35cc009ab9a214c1ebc5cc949b002_1795x820.png)
###
![](https://img.kancloud.cn/63/3e/633eb2ec8931ab504c2b9181ca092187_1711x1465.png)
###
![](https://img.kancloud.cn/56/34/5634147d8c3f115157b1cdad6487a0d6_2052x1459.png)
###
![](https://img.kancloud.cn/39/99/3999cd8adba7909902ff776d65d158a4_2374x1457.png)
###
![](https://img.kancloud.cn/72/8b/728b2b0cb49331254340a114ac5bf54c_2359x1531.png)
###
![](https://img.kancloud.cn/a5/ba/a5ba3d8f3d60e64137f527cc073d69f7_2490x1508.png)
###
![](https://img.kancloud.cn/95/d0/95d0b8a0a9a128e3ac8439778b74261f_2815x1462.png)
- 设计模式六大原则
- 常见的三大设计模式分类
- 创建型模式之单例模式
- 单例模式之懒汉
- 单例模式之饿汉
- 单例模式之如何选择懒汉饿汉
- 什么情况下使用单例模式
- 创建型模式之工厂模式
- 简单工厂模式
- 工厂方法模式
- 抽象工厂模式
- 创建型模式之原型模式
- 创建型模式之建造者模式
- 结构型模式之适配器模式
- 接口的适配器模式
- 类的适配器模式
- 结构型模式之桥接模式
- 结构型模式之桥接模式和适配器模式的区别
- 结构型模式之装饰器模式
- 结构型模式之代理模式
- 结构模式之外观模式
- 结构模式之享元模式
- 行为模式之策略模式
- 行为模式之模板模式
- 行为模式之观察者模式
- 行为模式之责任链模式
- 行为模式之命令模式
- 行为模式之迭代器模式
- 行为模式之备忘录模式
- 行为模式之状态模式