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

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

  • 相关阅读:
    cocos2dx环境搭建(android平台)
    转:Android开发实践:Java层与Jni层的数组传递
    转:Linux串口编程入门详解
    Linux串口通信之termios结构体说明
    SQLite3 C语言API入门
    android常用工具记录
    Java中byte与16进制字符串的互相转换
    JNI原理及实现
    Java调用动态库方法说明
    JAVA中使用动态链接库须知
  • 原文地址:https://www.cnblogs.com/suyang-java/p/10357947.html
Copyright © 2011-2022 走看看