大话设计模式读书笔记--12.状态模式
定义
状态模式定义:
当一个对象的内在状态改变时,允许改变其行为,这个对象看起来改变了其类
消除庞大的条件分支,将特定状态的行为放入一个对象中
生活中:开灯和关灯是两个状态
模式结构
Context: 上下文环境,维护一个状态实例,定义当前的状态
State: 抽象状态类,定义一个接口,封装与Context的一个特定状态相关的行为
ConcreteState:具体状态.实现Context的一个特定状态相关的行为
代码实现
场景: 12店之前是休闲状态, 之后是忙碌状态
特点及使用场景
优点:通过把各种状态判断逻辑分布到State的子类中,减少相互之间的依赖
使用场景 :当一个对象的行为取决于其状态,状态转换的条件表达式过于复杂,并且在运行时刻,根据状态改变他的行为
祝:
大家生活愉快,工作顺利