美文网首页
模板模式

模板模式

作者: 小老头_e6be | 来源:发表于2020-02-19 22:52 被阅读0次

什么是模板模式?

一个抽象类公开定义了执行它的方法的模板。它的子类可以按需要重写方法实现,但调用将以抽象类中定义的方式进行。模板方法使得子类可以不改变一个算法的结构,即可重定义该算法的某些特定步骤(通用代码在抽象类实现,其他步骤在子类实现)。接下来,将以我工作中用到的场景举例。

背景

我们有一个模型训练平台,当我们训练模型的时候,需要预处理,先检测语料是否满足需要,如果满足发送模型训练消息到训练平台,生成训练任务ID返回。如果不满足要求,我们直接返回训练失败。

代码示例

1.定义任务执行接口

public interface BaseTrainService<K, V> {

V execute(K vo);

}

2.训练任务模板抽象类-实现通用模板

@Slf4j

public abstract class CommonTrainService<K, V> implements BaseTrainService<K, V> {

// 预处理

protected abstract boolean preHandle(K vo);

// 核心处理流程

protected abstract V handle(K vo);

// 后处理

protected abstract V postHandle(K vo, V dto);

@Override

public final V execute(K vo) {

  V dto = null;

  try {

  boolean flag = preHandle(vo);

  if (flag) {

    dto = handle(vo);

  }

  dto = postHandle(vo, dto);

  } catch (Exception e) {

  log.error("处理训练任务异常", e);

  }

  return dto;

}

}

3.训练任务

简单训练任务-不需要预处理,直接发送训练消息

@Slf4j

public class SimpleTrainService extends CommonTrainService<TrainVO, Response<TrainDTO>> {

@Override

protected boo

相关文章

  • 11.8设计模式-模板模式-详解

    设计模式-模式模式 模板方法模式详解 模板方法模式在android中的实际运用 1.模板方法模式详解 2.模板方法...

  • 第5章 -行为型模式-模板方法模式

    一、模板方法模式的简介 二、模板方法模式的优点 三、模板方法模式的应用场景 四、模板方法模式的实例

  • 模板方法模式

    模板方法模式 模板方法模式的定义 模板方法模式(Template Method Pattern)是如此简单,以致让...

  • 设计模式系列-模板方法模式

    JAVA设计模式系列: 单例模式 观察者模式 模板方法模式 模板方法模式 定义 模板方法模式在一个方法中定义了算法...

  • 设计模式(行为型)-- 模板模式

    模板模式的原理与实现 模板模式,全称是模板方法设计模式,英文是 Template Method Design Pa...

  • 行为型-Template

    模板模式的原理与实现 模板模式,全称是模板方法设计模式,英文是 Template Method Design Pa...

  • 行为型 模板模式(文末有项目连接)

    1:模板方式解决的问题(先了解) 2:模板模式的原理与实现 3:模板模式核心代码 4:模板模式复用例子(Input...

  • 模板模式,也是解耦算法的吗?

    模板模式,和算法有什么关系呢? 模板模式,在什么场景使用呢? 模板模式(Template Pattern),定义一...

  • 模板方法模式

    一、模板方法模式介绍 二、模板方法模式代码实例

  • 58 - 模板模式

    本文来学习另外一种行为型设计模式,模板模式。模板模式主要是用来解决复用和扩展两个问题 模板模式的原理与实现 模板模...

网友评论

      本文标题:模板模式

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