设计模式-策略模式

定义一系列的算法,把它们一个个封装起来,并且使它们可相互替换。
总结:统一接口下的一系列算法类(多种策略),用一个类将其封装起来,使它们(多种策略)可动态切换。和工厂模式的区别:工厂模式是创建型模式,是为了创建不同的对象,而策略模式是行为模式,为了选择不同的行为。

public class Strategy{
      public static void main(String[] args){
            OperationStrategy operationStrategy = new OperationStrategy(new OperationAdd());
            operationStrategy.executeStrategy(15, 21);
      }
}

interface Operation{
      public void doOperation(int a, int b);
}

//策略1

class OperationAdd implements Operation{
      public void doOperation(int a, int b){
            System.out.println(a+"+"+b+"="+(a+b));
      }
}

//策略2

class OperationMultiply implements Operation{
      public void doOperation(int a, int b){
            System.out,println(a+"*"+b+"="+(a*b));
      }
}

//封装一系列策略,可任意替换策略(实现同一个接口)

class OperationStrategy{
      private Operation operation;
      public OperationStrategy(Operation operation){
            this.operation = operation;
      }
      //执行策略
      public void executeStrategy(int a, int b){
            operation.doOperation(a, b);
      }
}

Java经验分享网

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值