设计模式--状态模式
在处理一个事情的时候,他的状态发生改变,我们需要应对改变过的状态做不同的处理。
一般的状态量,我们最简单的都采用的是switch或者if/else来解决
但是在面向对象的设计模式来说我们要尽量满足单一职责原则。因此需要将对应的行为进行抽象为对应的对象或接口。
1、状态state要进行抽象,抽象出我们需要进行的状态动作。
2、对于具体的状态,我们有不同的实现,这里我们要针对单一的动作遵守单一职责的原则。一个具体的状态对象实现具体的动作。
3、将实际执行者进行对象化,它持有状态对象,主要作用是操作状态对象。
4、最终调用实际的执行者完成对应的业务:
总结:这种相对隔离状态的设计模式是很棒,但是涉及的对象有点多。如果是那种小状态的变化还是用switch好了。但是涉及项目的大的状态的话,隔离开发还是很棒的。