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(); } }
相关文章推荐
- myEclipse相同变量变色设置
- 将一个对象的属性值赋给另一个对象的相同的属性 这两个对象必须都符合javaBean的标准
- prepareStatement的用法和解释
- 各种排序算法的分析及java实现
- 【Java EE 学习 80 上】【WebService】
- PreparedStatement的用法
- PHPStudy+eclipse环境配置
- Spring项目中使用Junit单元测试并配置数据源的问题
- Java反射
- java图片添加水印实例代码分享
- 设计模式之简单工厂模式
- java变量的初始化顺序
- Selenium-webdriver(JAVA)代码总结
- eclipse安装插件jad
- 配置Eclipse远程调试weblogic应用的环境
- Spring+Quartz任务调度(一)
- 【转】 java获得项目绝对路径
- spring事务管理实例备注
- java 设置字体
- hive复杂类型与java类型的对应