【青鸟飞扬教育】「设计模式」状态模式

2025-03-22ASPCMS社区 - fjmyhfvclm

️状态模式

当一个对象的内在状态改变时允许改变其行为,这个对象看起来是改变了其类。

状态模式要解决的问题是:当控制一个对象状态转换的条件表达式过于复杂时的情况,

把状态的判断逻辑转移到表示不同状态的一系列类当中,可以把复杂的判断逻辑简化。

优点:简化了一个对象的状态转换和行为改变的代码,把这部分代码放在了【状态类】

中,需要注意的一点是:在【状态类】中,每个不同的【状态值】也许会被 “串起来”

成为一条链,这样就能保证设置不同的 “离散的”【状态值】时,可以在 “链上” 有

有个对应的处理 (行为)。

缺点:在【状态类】在要引用【客户类】,而在【客户类】中也要用到【状态类】,

两个类要互相引用。 耦合度稍高。

全部评论