共 6 道题目
解析:同一 Order.pay(),待支付与已支付状态下结果完全不同。
解析:Context 把请求转给状态对象,状态对象再决定行为以及是否迁移。
解析:转换规则放在状态类中,避免 Context 集中维护所有迁移表(也可由表驱动,但仍属状态模式)。
解析:支付渠道是策略;订单生命周期是状态。
解析:每个状态只接受合法操作,这正是拆分条件分支的意义。
解析:每个状态类实现同一组业务方法,Context 不再膨胀。