状态模式,当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中。
State
public abstract class State {
public abstract void handle(Context context);
}
StateA
public class StateA extends State {
public void handle(Context context){
context.state = new StateB();
}
}
StateB
public class StateB extends State {
public void handle(Context context){
context.state = new StateA();
}
}
Context
public class Context {
public State state;
public Context(State state){
this.setState(state);
}
public void setState(State state){
this.state = state;
System.out.println("当前状态:" + state);
}
public State getState(){
return this.state;
}
public void request(){
state.handle(this);
}
}
Client
class Client
{
public static void main(String[] args)
{
Context c = new Context(new StateA());
c.quest();
c.quest();
c.quest();
c.quest();
}
}
分享到:
相关推荐
创建型模式,共五种:工厂方法模式、抽象工厂模式、...行为型模式,共十一种:策略模式、模板方法模式、观察者模式、迭代子模式、责任链模式、命令模式、备忘录模式、状态模式、访问者模式、中介者模式、解释器模式。
22第二十二讲备忘录模式 23第二十三讲状态模式 24第二十四讲命令模式 25第二十五讲访问者模式 26第二十六讲开放封闭原则 27第二十七讲单一职责原则 28第二十八讲里氏代换原则 29第二十九讲依赖倒转原则 30第三十讲...
<!-- TOC --> - 23种设计模式 - 工厂方法模式(Factory Method) - 抽象工厂模式(Abstract Factory) - 单例模式(Singleton) - 建造者模式(Builder) - 原型模式(Prototype) - 代理模式(Proxy) ... - 状态模式(S
(十二)状态模式 32 (十三)适配器模式 34 (十四)备忘录模式 37 (十五)组合模式 39 (十六)迭代器模式 45 (十七)单例模式 46 (十八)桥接模式 47 (十九)命令模式 49 (二十)责任链模式 52 (二十一)...
24种设计模式的入门,整合7种开发语言的代码示例。 ...第一节 设计模式:学习顺序 ...第二十节 状态模式 第二十一节 访问者模式 第二十二节 原型模式 第二十三节 享元模式 第二十四节 责任链模式 第二十五节 解释器模式
所有的设计模式Java实现。...第二十四讲:状态模式 第二十五讲:命令模式 第二十六讲:开放-封闭原则 第二十七讲:里氏转换原则 第二十八讲:依赖倒转原则 第二十九讲:迪米特法则 第三十讲:设计模式总结
设计模式之 Memento(注释状态?) 很简单一个模式,就是在内存中保留原来数据的拷贝. 设计模式之 Interpreter(解释器) 主要用来对语言的分析,应用机会不多. 设计模式之 Visitor(访问者) 访问者在进行访问时,完成...
在书中,作者们将这二十三种设计模式分成了三类,分别是...状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( Interpreter ) 书中通过一幅图,剖析了这二十三种设计模式的关系。
在书中,作者们将这二十三种设计模式分成了三类,分别是...状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( Interpreter ) 书中通过一幅图,剖析了这二十三种设计模式的关系。
在书中,作者们将这二十三种设计模式分成了三类,分别是...状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( Interpreter ) 书中通过一幅图,剖析了这二十三种设计模式的关系。
具体主题(Concrete Subject)角色:也叫具体目标类,它实现抽象目标中的通知方法,当具体主题的内部状态发生改变时,通知所有注册模式结构行为型模式(三
在书中,作者们将这二十三种设计模式分成了三类,分别是...状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( Interpreter ) 书中通过一幅图,剖析了这二十三种设计模式的关系。
在书中,作者们将这二十三种设计模式分成了三类,分别是...状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( Interpreter ) 书中通过一幅图,剖析了这二十三种设计模式的关系。
在书中,作者们将这二十三种设计模式分成了三类,分别是...状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( Interpreter ) 书中通过一幅图,剖析了这二十三种设计模式的关系。
在书中,作者们将这二十三种设计模式分成了三类,分别是...状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( Interpreter ) 书中通过一幅图,剖析了这二十三种设计模式的关系。
在书中,作者们将这二十三种设计模式分成了三类,分别是...状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( Interpreter ) 书中通过一幅图,剖析了这二十三种设计模式的关系。
在书中,作者们将这二十三种设计模式分成了三类,分别是...状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( Interpreter ) 书中通过一幅图,剖析了这二十三种设计模式的关系。
在书中,作者们将这二十三种设计模式分成了三类,分别是...状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( Interpreter ) 书中通过一幅图,剖析了这二十三种设计模式的关系。
在书中,作者们将这二十三种设计模式分成了三类,分别是...状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( Interpreter ) 书中通过一幅图,剖析了这二十三种设计模式的关系。
在书中,作者们将这二十三种设计模式分成了三类,分别是...状态模式( State ) 访问者模式( Visitor ) 中介者模式( Mediator ) 解释器模式( Interpreter ) 书中通过一幅图,剖析了这二十三种设计模式的关系。