美文网首页
行为型模式 --- 策略模式

行为型模式 --- 策略模式

作者: 十二找十三 | 来源:发表于2020-08-25 17:17 被阅读0次
package study.org;

public class Demo {
    public static void main(String[] args) {
        Context context = new Context();
        
        Strategy strategy = new ConcreteStrategyA();
//      Strategy strategy = new ConcreteStrategyB();// 客户端根据自己的需要选择不同的策略

        context.setStrategy(strategy);
        context.strategyMethod();
    }
}

interface Strategy {
    public void operation();
}

class ConcreteStrategyA implements Strategy {
    @Override
    public void operation() {
        System.out.println("ConcreteStrategyA operation method");
    }
}

class ConcreteStrategyB implements Strategy {
    @Override
    public void operation() {
        System.out.println("ConcreteStrategyB operation method");
    }
}

class Context {
    private Strategy strategy;
    
    public Strategy getStrategy() {
        return strategy;
    }

    public void setStrategy(Strategy strategy) {
        this.strategy = strategy;
    }

    public void strategyMethod() {
        strategy.operation();
    }

}

相关文章

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

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

  • Android设计模式——策略模式(十一大行为型)

    1.策略模式介绍 策略模式(Strategy Pattern),是十一大行为型设计模式之一。 在开...

  • 23.策略模式(行为型)

    策略模式(行为型) 原书链接设计模式(刘伟) 适应算法灵活性而产生的设计模式——策略模式。 一、相关概述 1). ...

  • 策略模式(行为型)

    概念定义一系列算法,将这些算法封装起来,使他们可以相互替换,同时算法的修改与更新不影响调用它的对象(Context...

  • 行为型-策略模式

    意图: 定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换。 主要解决: 在有多种算法相似的情况下,使...

  • 策略模式 - 行为型

    一、策略模式的定义定义一族算法类,将每个算法分别封装起来,让它们可以互相替换。策略模式可以使算法的变化独立于使用它...

  • 【设计模式】行为型设计模式汇总(二)

    行为型设计模式范围 观察者模式 模板方法 策略模式 职责链模式 状态模式 迭代器模式 访问者模式 备忘录模式 命令...

  • 【设计模式】行为型设计模式汇总(一)

    行为型设计模式范围 观察者模式 模板方法 策略模式 职责链模式 状态模式 迭代器模式 访问者模式 备忘录模式 命令...

  • java 策略模式

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

  • 行为型设计模式-策略模式

    定义 定义一系列的算法,把它们一个个封装起来, 并且使它们可相互替换 解决问题 在有多种算法相似的情况下,使用 i...

网友评论

      本文标题:行为型模式 --- 策略模式

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