大话设计模式读书笔记--12.状态模式

定义

状态模式定义:

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

消除庞大的条件分支,将特定状态的行为放入一个对象中

生活中:开灯和关灯是两个状态

模式结构

Context: 上下文环境,维护一个状态实例,定义当前的状态

State: 抽象状态类,定义一个接口,封装与Context的一个特定状态相关的行为

ConcreteState:具体状态.实现Context的一个特定状态相关的行为

代码实现

场景: 12店之前是休闲状态, 之后是忙碌状态

点击下载代码

特点及使用场景

优点:通过把各种状态判断逻辑分布到State的子类中,减少相互之间的依赖

使用场景 :当一个对象的行为取决于其状态,状态转换的条件表达式过于复杂,并且在运行时刻,根据状态改变他的行为

posted @ 2017-02-24 23:22  liuconglin  阅读(279)  评论(0编辑  收藏  举报