23种设计模式之状态模式
Posted java_pro
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了23种设计模式之状态模式相关的知识,希望对你有一定的参考价值。
状态模式(State):当一个对象的内在状态改变时,允许改变其行为,这个对象看起来像是改变了其类。
package designMode.state; class Context { private State state; public Context(State state) { this.state = state; } /** * 对请求做处理,并设置下一状态 */ public void request(){ state.handle(this); } /***************getter&setter****************************/ public State getState() { return state; } public void setState(State state) { this.state = state; System.out.println("当前状态:"+state.getClass().getSimpleName()); } }
package designMode.state; interface State { void handle(Context context); }
package designMode.state; class ConcreteStateA implements State{ @Override public void handle(Context context) { context.setState(new ConcreteStateB()); } } class ConcreteStateB implements State{ @Override public void handle(Context context) { context.setState(new ConcreteStateA()); } }
package designMode.state; class Test { public static void main(String[] args) { Context c = new Context(new ConcreteStateA()); c.request(); c.request(); c.request(); c.request(); } }
以上是关于23种设计模式之状态模式的主要内容,如果未能解决你的问题,请参考以下文章