美文网首页
策略模式之枚举

策略模式之枚举

作者: Joylice | 来源:发表于2019-07-31 10:53 被阅读0次
    1. 策略枚举定义

    • 它是一个枚举
    • 它是一个浓缩了策略模式的枚举
    1. 代码展示

    package com.company.context;
    
    /**
     * @Author: Joylice
     * @Date: 2019/7/31 9:48
     */
    
    /**
     * 策略枚举
     */
    public enum Calculator {
        /**
         * 逻辑处理1
         */
        ADD("+") {
            @Override
            public String exec(int a, int b) {
                return a + value + b;
            }
        },
        /**
         * 逻辑处理2
         */
        SUB("-") {
            @Override
            public String exec(int a, int b) {
                return a +value+ b;
            }
        };
        String value = "";
    
        Calculator(String _value) {
            this.value = _value;
        }
    
        public String getValue() {
            return this.value;
        }
    
        /**
         * 声明一个抽象函数
         *
         * @param a
         * @param b
         * @return
         */
        public abstract String exec(int a, int b);
    }
    
    
    1. 盘它

    public static void main(String[] args) {
            int a = 5;
            int b = 3;
            String result = Calculator.ADD.exec(a, b);
            System.out.println("+结果之和:" + result);
            String res = Calculator.SUB.exec(a, b);
            System.out.println("-结果之差:" + res);
        }
    
    1. 结果

    +结果之和:5+3
    -结果之差:5-3
    
    1. 注意

      策略枚举是一个非常优秀和方便的模式,但是它受枚举类型的限制,每个枚举项都是 “public final static ”,扩展性受到了一定的约束,因此在系统开发中,策略枚举一般担当不经常发生变化的角色。

    相关文章

      网友评论

          本文标题:策略模式之枚举

          本文链接:https://www.haomeiwen.com/subject/ticzrctx.html