您的位置:首页 > 编程语言 > Java开发

Java设计模式_行为型_状态模式_工作还是休息

2015-12-29 16:50 459 查看
转载请注明出处:/article/11557489.html

本文出自:【梁敬明的博客】

1.对于每个人来说

  身为亿亿万万劳苦大众的一员,每天可以做的基本上就两件事,一件就是太累休息一会,另一件就是为了养家拼命的工作。什么情况下应当休息,什么情况下应当工作。答案很简单,要看上班还是下班了。

//千千万的劳苦大众
public class Person {

private State state;

public void setState(State state) {
this.state = state;
}

//应当休息还是工作,看下现在的状态
public void request(){
state.handle(this);
}

//休息
public void rest(){
System.out.println("正在休息");
}

//工作
public void work(){
System.out.println("正在工作");
}

}


2.现在拥有的状态  

  对于上班族的我们,上班的时候是繁忙的状态,就是要去努力的工作,下班的时候是空闲的状态,就是要好好的休息。不过,有一天要是逆袭一把,也可以一边喝咖啡一边谈工作,也可以轻松加愉快的增加第三种享受的状态。

//一切一切的状态
public abstract class State {
// 什么状态下做什么事情
public abstract void handle(Person context);
}

//空闲的状态
public class IdlesseState extends State {

// 好好的去休息
@Override
public void handle(Person context) {
context.rest();
}

}

//繁忙的状态
public class BusyState extends State {

// 拼命的去工作
@Override
public void handle(Person context) {
context.work();
}

}


3.每个人的日常生活  

  现在关注一个人的日常生活,空闲的时候休息,繁忙的时候工作。

public class Client {

public static void main(String[] args) {
// 某某人
Person person = new Person();

// 空闲时
person.setState(new IdlesseState());
person.request();

// 繁忙时
person.setState(new BusyState());
person.request();
}

}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: