设计模式(5)--策略模式

来源:互联网 发布:查外文最全的数据库 编辑:程序博客网 时间:2024/06/06 22:44
/** *  * 策略模式是行为模式的一种,它将算法进行封装,所有算法继承算法接口,外部调用只需要调用接口方法就可以了。 * 与简单工厂的区别:简单工厂注重对象的封装,策略注重算法的封装 * 以下用策略模式实现简单的计算器* @Title: StrategeDesign.java * @Package   */public class StrategeDesign {    class SimpleCalculator{        private CalculateStratege stratege;        public void setStratege(CalculateStratege stratege){            this.stratege =stratege;         };        public int calculate(int a,int b){            return stratege.caculate(a, b);        }    }    interface CalculateStratege{        public int caculate(int a,int b);    }    class Add implements CalculateStratege{        @Override        public int caculate(int a, int b) {            return a+b;        }    }    class Sub implements CalculateStratege{        @Override        public int caculate(int a, int b) {            return a-b;        }    }    public static void main(String[] args) {        SimpleCalculator calculator = new StrategeDesign().new SimpleCalculator();        int a =10;        int b=21;        calculator.setStratege(new StrategeDesign().new Add());        System.out.println(calculator.calculate(a, b));        calculator.setStratege(new StrategeDesign().new Sub());        System.out.println(calculator.calculate(a, b));    }}
0 0