状态模式
1
优点
将所有与某个状态有关的行为放在一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为
允许状态转换逻辑和状态对象合成一体
去欸但
状态模式的使用必然会增加系统类和对象的个数
状态模式的结构与实现都较为复杂,如果使用不当将导致系统结构和代码的混乱
状态模式对开闭原则的支持并不友好
使用场景
当一个对象的行为取决于他的状态 并且他必须在运行时根据状态改变他的行为时,就可以考虑使用
一个操作中含有庞大的分支结构 并且这些分支决定于对象的状态时
1
优点
将所有与某个状态有关的行为放在一个类中,并且可以方便地增加新的状态,只需要改变对象状态即可改变对象的行为
允许状态转换逻辑和状态对象合成一体
去欸但
状态模式的使用必然会增加系统类和对象的个数
状态模式的结构与实现都较为复杂,如果使用不当将导致系统结构和代码的混乱
状态模式对开闭原则的支持并不友好
使用场景
当一个对象的行为取决于他的状态 并且他必须在运行时根据状态改变他的行为时,就可以考虑使用
一个操作中含有庞大的分支结构 并且这些分支决定于对象的状态时