设计模式(6)状态模式--行为型
来源:互联网 发布:如何看淘宝价格走势 编辑:程序博客网 时间:2024/05/17 08:49
定义
允许对象在内部状态改变时改变它的行为,对象看起来好像修改了它的类。
角色
Context: 环境类。可以包括一些内部状态。
State: 抽象状态类。State定义了一个所有具体状态的共同接口,任何状态都实现这个相同的接口,这样一来,状态之间就可以互相转换了。
ConcreteState: 具体状态类。具体状态类,用于处理来自Context的请求,每一个ConcreteState都提供了它对自己请求的实现,所以,当Context改变状态时行为也会跟着改变
适用场景
1、对象的行为依赖于它的状态(属性)并且可以根据它的状态改变而改变它的相关行为。
2、代码中包含大量与对象状态有关的条件语句
类图
示例
糖果机的处理
引申
模板方法模式:有子类决定如何实现算法中的某些步骤
状态模式:封装基于状态的行为,并将行为委托到当前状态
策略模式:将可以互换的行为封装其来,然后使用委托的方法,决定使用哪一个行为
0 0
- 设计模式(6)状态模式--行为型
- 设计模式 - 行为型模式 - 状态模式
- 设计模式->行为型模式->状态模式
- Java设计模式之行为型模式(状态模式)
- 设计模式--行为型--状态模式
- 设计模式22:状态模式【行为型】
- 设计模式-行为型-状态模式(State)
- [设计模式-行为型]状态模式(State)
- 设计模式-行为型之状态模式
- 行为型设计模式-状态模式
- 设计模式-行为-状态
- 设计模式(十九)状态模式(State)-行为型
- 【设计模式】—-(20)状态模式(行为型)
- 设计模式笔记(22)---状态模式(行为型)
- 设计模式 ( 十七) 状态模式State(对象行为型)
- 设计模式 ( 十七) 状态模式State(对象行为型)
- java设计模式(行为型)之状态模式
- 设计模式--状态模式State(行为型)
- 两个JDBC连接数据库的工具类
- jsp页面验证码demo
- 嵌入式开发“高手”进阶之路
- 多线程七
- 点击页面卡住不动,有可能导航栏 title 变化了,但页面没更新,关于左滑手势
- 设计模式(6)状态模式--行为型
- POI操作Excel常用方法总结
- hdoj1269-迷宫城堡(tarjan)
- mysql数据表对自增id重新排序
- linux下挂载iso镜像的方法
- Please enter a commit message to explain why this merge is necessary.
- 自己写个简单的天空盒子
- elasticsearch配置
- Android JNI 开发的流程