美文网首页
行为模式之策略模式

行为模式之策略模式

作者: 后来丶_a24d | 来源:发表于2019-09-18 21:02 被阅读0次

总纲

  • 设计原则:遵循单一职责、依赖倒置、迪米特、开闭原则
  • 常用场景:算法或者策略需要经常替换
  • 使用概率:60%
  • 复杂度:中
  • 变化点:策略的种类
  • 选择关键点:客户端是否依赖于某一个或若干个具体的策略
  • 逆鳞:无

策略模式

  • 根据不同策略创建不同对象,各个对象只是算法不同而已
  • 实践
    1. DefaultSqlSession相当于Context 策略体现在配置中可以设置SimpleExecutor还是别的Executor作为实现类。参考mybatis接口层源码分析-SqlSession
    2. 举例
/**
 *  策略模式能避免出现大量的 if...else
 *  在需要从三个数据库读取三种不同处罚记录的时候选择了策略模式,保持controller层代码纯净
 *  拓展时只需要加类方便
 */
public interface NumStrategies {
    void doSomething();
}

public class FirstStrategies implements NumStrategies {
    @Override
    public void doSomething() {
        System.out.println(" I am  firstStrategy");
    }
}

public class SecondStrategy implements NumStrategies {
    @Override
    public void doSomething() {
        System.out.println(" I am  secondStrategy");
    }
}

public class Context {
    private  NumStrategies numStrategies;

    Context(NumStrategies numStrategies){
        this.numStrategies = numStrategies;
    }

    public static Context builderStrategies(Integer strategyNum){
        if(strategyNum == 1){
            return new Context(new FirstStrategies());
        }
        if(strategyNum == 2){
            return new Context(new SecondStrategy());
        }
        return new Context(new FirstStrategies());
    }
    public void doSomething(){
        numStrategies.doSomething();
    }
}

相关文章

  • 行为型模式:策略模式

    LieBrother原文:行为型模式:策略模式 十一大行为型模式之五:策略模式。 简介 姓名 :策略模式 英文名 ...

  • 策略模式

    本文参考自: 《JAVA设计模式》之策略模式(Strategy) 1. 作用 策略模式属于对象的行为模式。其用意是...

  • java 策略模式

    策略模式1.策略模式简介策略模式:策略模式是一种行为型模式,它将对象和行为分开,将行为定义为 一个行为接口 和 具...

  • Java设计模式之策略模式

    Java设计模式之策略模式 简介 在策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行...

  • 行为模式之策略模式

    总纲 设计原则:遵循单一职责、依赖倒置、迪米特、开闭原则 常用场景:算法或者策略需要经常替换 使用概率:60% 复...

  • 设计模式[13]-策略模式-Strategy Pattern

    1.策略模式简介 策略模式(Strategy Patter)是行为型(Behavioral)设计模式,策略模式封装...

  • 策略模式

    策略模式是行为型模式的一种,同时属于行为模式的还有:命令模式,观察者模式,状态模式和之前写的中介者模式。 策略模式...

  • iOS 设计模式-策略模式

    1.策略模式简介   策略模式(Strategy Pattern),是行为型模式之一(设计模式分类:https:/...

  • 策略模式

    一 简介 1.定义 策略模式属于对象的行为模式.策略模式能在运行时改变软件的算法行为.如何实现策略模式根据情况而...

  • 行为型模式之策略模式

    介绍 策略模式就是把定义的一系列的算法,封装起来,然后根据用户的需求来决定采用哪个算法,并且算法的修改对用户也没影...

网友评论

      本文标题:行为模式之策略模式

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