【设计模式精讲】25.状态模式(State)【摘要】:订单能支付、能发货、能关闭——每种动作在每种状态下都有不同答案,直觉的实现是给每个方法配一份全量 switch,于是「Created/Paid/Shipped」的分支在五个方法里各复制一遍,加一个状态全体加 case,合法的迁移图散落得没人能一眼看清。本文从订单状态机的 switch 蔓延讲起,给出状态模式的 GoF 意图:状态一变、行为整个换一套,对象「看起来像换了一个类」;状态对象无状态、全程共享一份(与享元、单例同宗),迁移由当前状态自己决定;现代版给出迁移表与 C++17 的 varia