• 设计模式之策略模式


        今天我们要介绍的设计模式叫做策略模式。策略模式其实就是把不同的策略(方法)封装在不同的类中。在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式(摘自菜鸟教程)。下面我们用代码来实现策略模式。

        1、首先定义一个策略的接口:

    public interface Strategy {
        public int operating();
    }

    2.定义一些实现策略接口的实现类(具体的策略)。

    public class AddOperation implements Strategy{
        @Override
        public int operating(int a,int b) {
            return a+b;
        }
    }
    
    
    public class SubstractOperation implements Strategy{
        @Override
        public int operating(int a,int b) {
            return a-b;
        }
    }

    3.定义一个Context 类。

    public class Context {
        private Strategy strategy;
    
        public Context(Strategy strategy) {
            this.strategy = strategy;
        }
    
        public int executeStrategy(int a, int b) {
            return strategy.operating(a, b);
        }
    }

    4.客户端调用:

    public static void main(String[] args) {
              Context context = new Context(new AddOperation());    
              System.out.println("12 + 5 = " + context.executeStrategy(12, 5));
         
              context = new Context(new SubstractOperation());      
              System.out.println("12 - 5 = " + context.executeStrategy(12, 5));
        }
    
    
    代码执行结果:
    12 + 5 = 17
    12 - 5 = 7

    在实际的开发中,策略模式通常与工厂模式混合使用。

  • 相关阅读:
    三种构建器的使用
    java class file
    JVM知识(下)
    JVM知识(上)
    初识JMM
    nginx基础配置加基础实战演示
    GitHub中webhooks的使用
    redis sentinel介绍
    redis主从复制
    【开源】.net 分布式架构之监控平台
  • 原文地址:https://www.cnblogs.com/suyang-java/p/10357947.html
Copyright © 2020-2023  润新知