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

java策略设计模式设计模式

因为水平有限,难免有疏忽或者不准确的地方,希望大家能够直接指出来,我会及时改正。一切为了知识的分享。

后续会有更多的精彩的内容分享给大家。