美文网首页程序员
策略+简单工厂模式

策略+简单工厂模式

作者: trieyouth | 来源:发表于2016-04-11 14:06 被阅读68次

策略模式的使用情景

最近在做一个比赛,由于算法肯定有多种,但是还没有确定具体有哪些策略,所以不知道还要写什么东西,所以采用了策略+简单工厂的设计模式。策略模式可以处理在不同时间应用不同的业务规则的这种变化性。

类图

算法的简略类图

实现

interface  Algorithm{

    int getAction(int index);

}

class AlgorithmAImpl implements Algorithm{

    @Override
    public int getAction(int index) {
        return index+1;
    }

}

class AlgorithmBImpl implements Algorithm{

    @Override
    public int getAction(int index) {

        return index+2;
    }

}

class AlgorithmManager{
    Algorithm mAlgorithm;
    int type;
    int getRes(int type){
        this.type = type;
        switch (type){
        case 0:
            mAlgorithm = new AlgorithmAImpl();
            break;
        case 1:
            mAlgorithm = new AlgorithmBImpl();
            break;
        default:
            break;
        }
        return getAction(type);
    }

    private int getAction(int index){
        return mAlgorithm.getAction(index);
    }
}

相关文章

  • PHP-浅谈单例模式和工厂模式

    PHP中常用的设计模式有单例模式、工厂模式(简单工厂模式、工厂方法模式和抽象工厂方法模式)、适配模式、策略模式。 ...

  • 大话设计模式(1) --- 简单工厂模式|策略模式

    1. 简单工厂模式 简单工厂模式主要用来解决创建实例的问题 2. 策略模式 策略模式是一种定义一系列算法的方法,从...

  • iOS开发之设计模式 - 策略模式

    由《大话设计模式 - 策略模式》的OC和部分Swift的语言转义 策略模式 继上一篇《简单工厂模式》 策略模式,定...

  • 策略模式

    和简单工厂模式很像。 不同点:简单工厂模式,工厂返回的是具体生产内容对象,而策略模式返回是内容的父类。 优点:对调...

  • 常见设计模式

    简单工厂 工厂方法 抽象工厂 单例模式 策略模式 观察者模式 责任链模式 装饰者模式 适配器模式 代理模式 门面模...

  • ruby设计模式(大话设计模式)

    1、简单工厂模式 2、策略模式 3、单一职责原则 4、开放-封闭原则 5、依赖倒转原则 8、工厂方法模式 1、简单...

  • 策略、工厂模式融合 InitializingBean

    策略、工厂模式融合 InitializingBean 策略、工厂模式分别是什么 策略模式 策略模式是将不同的算法封...

  • 策略+简单工厂模式

    策略模式的使用情景 最近在做一个比赛,由于算法肯定有多种,但是还没有确定具体有哪些策略,所以不知道还要写什么东西,...

  • Android 小知识点(三)

    那些年你未曾注意过的设计模式 1.工厂模式(简单静态工厂) 同时在分支逻辑上 属于策略模式,在生产目的上属于工厂模...

  • 面试之设计模式2018-12-20

    面试常问的面试题,设计模式,差不多我们项目开发中也常会用到这些: 简单工厂模式,策略模式、装饰模式、代理模式、工厂...

网友评论

    本文标题:策略+简单工厂模式

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