zoukankan      html  css  js  c++  java
  • 设计模式之策略模式

        今天我们要介绍的设计模式叫做策略模式。策略模式其实就是把不同的策略(方法)封装在不同的类中。在策略模式(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

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

  • 相关阅读:
    vue.js 系列教程
    vue.js 生命周期
    MVVM代码例子
    vue.js windows下开发环境搭建
    Vue.js 之修饰符详解
    elementUi——适合于Vue的UI框架
    Vue.js——60分钟快速入门
    Keil sct分散加载文件
    Keil ARM-CM3 printf输出调试信息到Debug (printf) Viewer
    Cortex-M3(NXP LPC 1788) 启动代码
  • 原文地址:https://www.cnblogs.com/suyang-java/p/10357947.html
Copyright © 2011-2022 走看看