zoukankan      html  css  js  c++  java
  • 精典策略模式

    实现三:列举策略模式
    enum EnumStrategy
    {
    /*加法策略的实现*/
    ADD{
    @Override
    public int execute(int a, int b)
    {
    return a+b;
    }
    },

    /*减法策略的实现*/
    SUB{
    @Override
    public int execute(int a, int b)
    {
    return a-b;
    }
    },

    /*乘法策略的实现*/
    MUL{
    @Override
    public int execute(int a, int b)
    {
    return a*b;
    }
    },

    /*除法策略的实现*/
    DIV{
    @Override
    public int execute(int a, int b)
    {
    return a/b;
    }
    };

    abstract public int execute(int a,int b);
    }

    来看看场景类:

    public class EnumStrategyClient
    {
    public static void main(String[] args)
    {
    System.out.println(EnumStrategy.ADD.execute(2, 2));
    }
    }

      这种变形的策略模式真是太那个了(省略各类赞叹)....太精妙了,不得不钦佩那些牛人,如许的实现,让可读性进步到最高点了,一眼就能看熟悉打听。连调用都如此简单(你说更看不懂了-_-!!那不是可读性的题目,是你不睬解列举,每一个列举值其实是这个列举类型的一个实例,它默认的前缀是public final static的,他其实和类差不久不多,只不过编译器为我们做了很多工作)。它扩大性没有实现二好,这是受限于enum类型,所以这种变形可以应用在策略不易改变的处所。

    /************************************************/

    本博客内容如果是原著都会在标题后加上(原著)字样,未加者多数为转载.

    /************************************************/

  • 相关阅读:
    Python(4)
    docker-数据管理(3)
    docker(2)
    docker(1)
    ansible的role(6)
    windows实用cmd命令总结
    Orcal数据类型总结
    Orcal设置默认插入数据的日期和时间
    linux常用关机和重启命令
    electron关于页面跳转 的问题
  • 原文地址:https://www.cnblogs.com/ghfsusan/p/2719998.html
Copyright © 2011-2022 走看看