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

    策略模式(Strategy Pattern)中,一个类的行为或其算法可以在运行时更改。这种类型的设计模式属于行为型模式。

    在策略模式中,我们创建表示各种策略的对象和一个行为随着策略对象改变而改变的 context 对象。策略对象改变 context 对象的执行算法。个人理解就是对象的其中一个属性有好几种实现逻辑,那就定义一个接口,让实现逻辑去继承他,这样就可以在使用时根据需要切换他。

    策略模式
    关于策略模式的示例代码很多,这里就以JmsTemplate举例。
    在JmsTemplate里有MessageConverter messageConverter
    这里写图片描述

    而MessageConverter 是一个接口有多个实现类,即JmsTemplate可以根据需要设置不同的消息转换器
    多个实现类

    因此,我们在使用jmsTemplate时可以根据需要设置不同的MessageConverter

    //jmsTemplate可以设置不同的消息转换器,也包括自定义的
     jmsTemplate.setMessageConverter(new SimpleMessageConverter());
     jmsTemplate.setMessageConverter(new MappingJackson2MessageConverter());

    这样的用法在很多地方都有体现,策略模式的应用比较简单也特别常见。

  • 相关阅读:
    EBS R12.2 运行请求出错
    仿ORACLE的TRUNC函数
    EBS职责清单(Responsibility)
    Oracle 11G Client 客户端安装步骤
    UltraIso-写入硬盘映像
    EBS-WIP完工入库
    LeetCode 2 两数相加
    LeetCode 1.两数之和
    装饰器示例
    爬虫day1
  • 原文地址:https://www.cnblogs.com/seasail/p/12179397.html
Copyright © 2011-2022 走看看