设计模式(21)--状态模式
来源:互联网 发布:蔡依林国际化知乎 编辑:程序博客网 时间:2024/06/02 03:53
什么是状态模式?
在状态模式(State Pattern)中,类的行为是基于它的状态改变的。这种类型的设计模式属于行为型模式。
在状态模式中,我们创建表示各种状态的对象和一个行为随着状态对象改变而改变的 context 对象。
什么时候使用?
1、行为随状态改变而改变的场景。 2、条件、分支语句的代替者。
如何实现?
public interface State { public void doAction(Context context);}
public class StartState implements State{ public void doAction(Context context) { System.out.print("this is start state."); context.setState(this); } public String toString(){ return "Start State"; }}
public class StopState implements State{ public void doAction(Context context) { System.out.print("this is stop state."); context.setState(this); } public String toString(){ return "Stop State"; }}
public class Context { private State state; public Context(){ state = null; } public State getState() { return state; } public void setState(State state) { this.state = state; }}
public class Client { public static void main(String[] args) { Context context = new Context(); State startState = new StartState(); startState.doAction(context); System.out.println(context.getState().toString()); State stopState = new StopState(); stopState.doAction(context); System.out.println(context.getState().toString()); }}
阅读全文
0 0
- 设计模式(21)--状态模式
- 设计模式(状态模式)
- 设计模式:状态模式
- 设计模式-----状态模式
- 设计模式 状态模式
- 设计模式 - 状态模式
- 设计模式---状态模式
- 设计模式-状态模式
- 设计模式:状态模式
- 设计模式 - 状态模式
- 设计模式-状态模式
- 设计模式--状态模式
- 设计模式-状态模式
- 设计模式:状态模式
- 设计模式-状态模式
- 设计模式-状态模式
- [设计模式]状态模式
- 设计模式 状态模式
- 匹配IP地址的正则表达式(java)
- Python中 sys.argv[]的用法简明解释
- FFMPEG 如何利用 AVDictionary 配置参数
- git教程
- Android-高通平台调试camera的OTP参数
- 设计模式(21)--状态模式
- python socket 编程之三:长连接、短连接以及心跳(转药师Aric的文章)
- UML的类与类图
- centos7安装jdk8
- 列表(list)的魔法
- 前序遍历建立二叉树
- 掌握VS2010调试 -- 入门指南
- 求圆、长方形的面积
- Java 的 四种引用