【青鸟飞扬教育】「设计模式」状态模式
2025-03-22
️状态模式
当一个对象的内在状态改变时允许改变其行为,这个对象看起来是改变了其类。
状态模式要解决的问题是:当控制一个对象状态转换的条件表达式过于复杂时的情况,
把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。
优点:简化了一个对象的状态转换和行为改变的代码,把这部分代码放在了【状态类】
中,需要注意的一点是:在【状态类】中,每个不同的【状态值】也许会被 “串起来”
成为一条链,这样就能保证设置不同的 “离散的”【状态值】时,可以在 “链上” 有
有个对应的处理 (行为)。
缺点:在【状态类】在要引用【客户类】,而在【客户类】中也要用到【状态类】,
两个类要互相引用。 耦合度稍高。