java设计模式之------策略模式

来源:互联网 发布:超级优化李玄 编辑:程序博客网 时间:2024/06/18 01:43

                                              策略模式

策略模式:简单的说就是做一件事情有不同的方法即策略实现。

策略模式包括3个角色:

       ●  环境(Context)角色:持有一个Strategy的引用。
       ●  抽象策略(Strategy)角色:这是一个抽象角色,通常由一个接口或抽象类实现。此角色给出所有的具体策略类                  所需的接口。
       ●  具体策略(ConcreteStrategy)角色:包装了相关的算法或行为。

比如:从北京到上海,可以做飞机,火车,高铁,的士等


public class MyClass {    interface  Strategy{        public void transports();    }    static class  Text implements  Strategy{        @Override        public void transports() {            System.out.print("选择的出行方式是 : 的士");        }    }    class Plane implements Strategy{        @Override        public void transports() {            System.out.print("选择的出行方式是 : 飞机");        }    }    class Train implements  Strategy{        @Override        public void transports() {            System.out.print("选择的出行方式是 : 火车");        }    }    static class  Context {        public  Strategy strategy;        public  void setStrategy(Strategy strategy){            this.strategy = strategy;            strategy.transports();        }    }    public  static  void  main(String args[]){        Context context = new Context();        context.setStrategy(new Text());    }}



0 0