设计模式之状态模式
来源:互联网 发布:凤阳安广网络 编辑:程序博客网 时间:2024/05/20 06:53
1.设计原则
状态模式主要解决的是当控制一个对象的条件表达式过于复杂是的情况。状态模式,将状态的判断逻辑转移到了表示不同状态的一系列类中。
2.策略模式中的对象
1.抽象状态角色(State):主要负责定义不同状态下的不同处理接口。
2.具体状态角色(ConcreteState):实现抽象状态中的相关接口方法
3.上下文环境角色(Context):保存当前状态信息,定义了抽象状态角色。
eg;
在编辑模式和状态模式之间切换
3.使用场合
主要使用于操作中包含有庞大的分支结构,并且这些分支决定于对象的状态。直接切换 状态,将判断放置到对应的类中去处理,从而减少分支的复杂度
4.相关的设计模式
1.单例模式,对应的状态类,为了避免重复创建状态类,减少系统消耗
2.享元模式
3.策略模式:与状态模式及其类似。状态模式主要解决的是复杂的逻辑处理的状态迁移,而这个过程是由对象的内部条件决定,外部只需要关心其。策略模式,则是一组方案或者说是算法的相互替换,用于随不同的外部环境采取不同的行为的场合。
0 0
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之--状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 设计模式之状态模式
- 【设计模式】之状态模式
- save
- IOS学习之WebView加载本地HTML代码或网络资源
- SpringMVC常用基础知识【转】
- mktemp /tmp/setup.shXXXXXXXXXX失败
- 85ViewTreeObserver.addOnGlobalLayoutListener(listener)
- 设计模式之状态模式
- Algorithm Gossip: 超长整数计算(大数计算)
- Access denied for user 'root'@'localhost' (using password
- ecshop 支付宝自动发货接口-修改版
- shell file_operate
- 1027. Colors in Mars (20)
- Algorithm Gossip:长PI
- 如果有对应的库存存在,则提示客户购买
- php调试工具