Linux安全网 - Linux操作系统_Linux 命令_Linux教程_Linux黑客

会员投稿 投稿指南 本期推荐:
搜索:
您的位置: Linux安全网 > Linux集群 > Architecture > » 正文

十三、状态模式

来源: bolan392 分享至:

状态模式,当一个对象的内在状态改变时允许改变其行为,这个对象看起来像是改变了其类。状态模式主要解决的是当控制一个对象状态转换的条件表达式过于复杂时的情况。把状态的判断逻辑转移到表示不同状态的一系列类当中。

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(); } }


Tags:
分享至:
最新图文资讯
1 2 3 4 5 6
验证码:点击我更换图片 理智评论文明上网,拒绝恶意谩骂 用户名:
关于我们 - 联系我们 - 广告服务 - 友情链接 - 网站地图 - 版权声明 - 发展历史