Java设计模式_行为型_策略模式_工作还是休息
java是一种可以撰写跨平台应用软件的面向对象的程序设计语言,是由Sun Microsystems公司于1995年5月推出的Java程序设计语言和Java平台(即JavaEE, JavaME, JavaSE)的总称。本站提供基于Java框架struts,spring,hibernate等的桌面应用、web交互及移动终端的开发技巧与资料
保持永久学习的心态,将成就一个优秀的你,来 继续搞起java知识。
转载请注明出处:/content/10620093.html
本文出自:【梁敬明的博客】
1.对于每个人来说
在状态模式下,我们每个人都知道自己会做什么,应当做什么,事情本事是固定的,只是根据当前状态的改变而去选择不同的事情去做,状态本身可能会随着时间的推移不断的增加或减少。在策略模式下,我们每个人不知道自己会做什么,应当做什么,不论什么事情当需要去做的时候就去完成它,事情本身可能是千变万化的。
//生活中的每个人
public class Person {
private Strategy strategy;
//选择应该去做的事情
public void setStrategy(Strategy strategy) {
this.strategy = strategy;
}
//做我们应当去做的事情
public void doSomething() {
strategy.operate();
}
}
2.可以去做的事情
每个人都会有很多事情可以去做。但是,做的最多的事情无非是两种,一种是工作,另一种就是生活。当然有的人会去健身,有的人也会去购物,对于不同的人我们可以根据需要去增加或者减少。
//生活中的想法
public interface Strategy {
//将想法付诸实践
void operate();
}
//休息
public class RestStrategy implements Strategy {
@Override
public void operate() {
System.out.println("享受生活");
}
}
//工作
public class WorkStrategy implements Strategy {
@Override
public void operate() {
System.out.println("努力奋斗");
}
}
3.我们的日常生活
回归到日常生活中,当我们选择去工作,就去努力奋斗,当选择休息,就去享受生活。
public class Client {
public static void main(String[] args) {
// 每个人
Person person = new Person();
// 休息
Strategy rest = new RestStrategy();
// 工作
Strategy work = new WorkStrategy();
// 选择休息
person.setStrategy(rest);
// 享受生活
person.doSomething();
// 选择工作
person.setStrategy(work);
// 努力奋斗
person.doSomething();
}
}
因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。
后续会有更多的精彩的内容分享给大家。
支付宝扫一扫
微信扫一扫
