当前位置: 首页 > article >正文

策略模式 (Strategy)

策略模式 (Strategy)

  • 应用场景:用于处理不同的任务配置参数。在你的任务中,可能会有不同的任务类型,每个任务类型可能有不同的单位(比如米、毫米)或不同的处理方式。策略模式可以让你根据不同的任务类型选择不同的处理策略。
  • 优点:可以动态地选择不同的策略,而不需要修改任务配置类的代码。
class TaskStrategy {
public:
    virtual void execute() = 0;
};

class MetricTaskStrategy : public TaskStrategy {
public:
    void execute() override {
        // 执行米为单位的任务
    }
};

class MillimeterTaskStrategy : public TaskStrategy {
public:
    void execute() override {
        // 执行毫米为单位的任务
    }
};

class Task {
private:
    TaskStrategy* strategy;
public:
    void setStrategy(TaskStrategy* strategy) {
        this->strategy = strategy;
    }
    void run() {
        strategy->execute();  // 根据当前策略执行任务
    }
};

http://www.kler.cn/a/610556.html

相关文章:

  • 网站服务器常见的CC攻击防御秘籍!
  • Java-设计模式
  • 可持久化(线段树(主席树),tire)
  • Angular的理解
  • html5炫酷3D立体文字效果实现详解
  • 大模型学习:从零到一实现一个BERT微调
  • 关于deepin上WPS读取windows上的docx文件
  • 快速创建 Java 8 兼容的 Spring Boot 项目(阿里云脚手架)
  • Qt+FFmpeg+SDL2播放进度显示及定位播放
  • 视频结构化框架VideoPipe-OpenCV::DNN-TensorRT安装教程【Nvidia各系列显卡-亲测有效】
  • 【AI学习】概念了解
  • 【NLP 43、文本生成任务】
  • 鸿蒙 分布式数据摘要
  • Rust从入门到精通之进阶篇:12.高级类型系统
  • 人体的三个 Bug
  • 前端模拟 websocket 请求小工具
  • ngx_http_compile_complex_value
  • 文献学习:单细胞+临床+模型构建 | 一篇Molecular Cancer文献如何完整解读CDK4/6i耐药机制
  • SpringBoot大学生竞赛管理系统设计与实现
  • Redis 在后端系统中的高效应用