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

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

  • 相关阅读:
    Javascript动画模拟
    C#导出Excel
    Google Maps API
    动态管理视图和函数
    HttpWebRequest和HttpWebResponse实例
    从零开始学Java 第19章 网络编程
    从零开始学Java 第15章 Java输入输出流
    从零开始学Java 第21章 集合框架
    从零开始学Java 第13章 多线程
    从零开始学Java 第14章 Applet程序
  • 原文地址:https://www.cnblogs.com/suyang-java/p/10357947.html
Copyright © 2011-2022 走看看