文章目录


状态模式好绕,想着十来分钟搞定,没想到看着入迷了(一直没看懂),搞了2个多小时,才算是清楚点,参考了 《设计模式的艺术》,《大话设计模式》,韩顺平《JAVA 设计模式》,《javaweb设计模式之道》。


其中,感觉写的最好的是 《设计模式的艺术》,看的最明白。《head first 设计模式》都说好,排版实在太任性,忍不了,没看。


简单记录点,算是总结了。

需求

设计模式(28) -- 状态模式_使用场景


设计模式(28) -- 状态模式_状态模式_02


设计模式(28) -- 状态模式_使用场景_03


设计模式(28) -- 状态模式_状态模式_04

不好的实现

设计模式(28) -- 状态模式_状态模式_05


设计模式(28) -- 状态模式_使用场景_06


设计模式(28) -- 状态模式_状态模式_07

问题

设计模式(28) -- 状态模式_状态模式_08

状态模式介绍

设计模式(28) -- 状态模式_使用场景_09

类图

设计模式(28) -- 状态模式_使用场景_10


设计模式(28) -- 状态模式_状态模式_11


设计模式(28) -- 状态模式_设计模式_12


设计模式(28) -- 状态模式_使用场景_13


设计模式(28) -- 状态模式_设计模式_14

状态转换的2种方式

设计模式(28) -- 状态模式_设计模式_15


设计模式(28) -- 状态模式_设计模式_16


设计模式(28) -- 状态模式_设计模式_17

好的实现

设计模式(28) -- 状态模式_状态模式_18


设计模式(28) -- 状态模式_状态模式_19


设计模式(28) -- 状态模式_设计模式_20


设计模式(28) -- 状态模式_状态模式_21


设计模式(28) -- 状态模式_状态模式_22


设计模式(28) -- 状态模式_设计模式_23


设计模式(28) -- 状态模式_使用场景_24


设计模式(28) -- 状态模式_状态模式_25


设计模式(28) -- 状态模式_设计模式_26


设计模式(28) -- 状态模式_使用场景_27


设计模式(28) -- 状态模式_状态模式_28

共享状态

设计模式(28) -- 状态模式_使用场景_29

使用环境类context实现状态转换

设计模式(28) -- 状态模式_状态模式_30


设计模式(28) -- 状态模式_状态模式_31

状态模式总结

设计模式(28) -- 状态模式_状态模式_32

优点

设计模式(28) -- 状态模式_使用场景_33

缺点

设计模式(28) -- 状态模式_使用场景_34

设计模式(28) -- 状态模式_使用场景_35

使用场景

设计模式(28) -- 状态模式_设计模式_36

以上截图都来自《设计模式的艺术》