GOF23之状态模式
2017-05-19 09:47
218 查看
package com.gof.state; public interface State { void handle(); }
package com.gof.state; /** * 空闲状态 * @author root * */ public class FreeState implements State { @Override public void handle() { System.out.println("空闲状态,没人住"); } }
package com.gof.state; /** * 预定状态 * @author root * */ public class BookedState implements State { @Override public void handle() { System.out.println("房间以预定,别人不能定"); } }
package com.gof.state; /** * 入住状态 * @author root * */ public class CheckInState implements State { @Override public void handle() { System.out.println("房间已经入住,请勿打扰"); } }
package com.gof.state; public class Context { private State state; public void setState(State s ) { System.out.println("修改状态"); state=s; state.handle(); } }
package com.gof.state; public class Client { public static void main(String[] args) { Context context = new Context(); context.setState(new CheckInState()); } }
相关文章推荐
- GOF 23 设计模式之 状态模式
- 【GOF23设计模式】_状态模式_UML状态图_酒店系统房间状态_线程对象状态切换JAVA250
- GOF23设计模式之状态模式的理解与实现
- 【GOF23设计模式】_享元模式_享元池_内部状态_外部状态_线程池_连接池JAVA242
- 【GOF23设计模式】状态模式
- 设计模式GOF23——状态模式
- GOF23代理模式之静态代理模式理解之经典
- 23状态模式
- <转载> 设计模式精解c++-GoF 23 种设计模式解析
- 笔记--设计模式精解c++-GoF 23 种设计模式解析
- GOF23设计模式之抽象工厂模式的实现
- 设计模式之路--Gof23分类
- 23个GOF23设计模式的定义
- [转]笔记--设计模式精解c++-GoF 23 种设计模式解析
- 设计模式GOF23之单例模式实现
- 设计模式GOF23之单例模式效率测试与反射和反序列化问题的解决
- 【转载】 笔记--设计模式精解c++-GoF 23 种设计模式解析
- GOF23设计模式简介
- 笔记--设计模式精解c++-GoF 23 种设计模式解析
- 笔记--设计模式精解c++-GoF 23 种设计模式解析