模板模式很容易理解,套个模板,然后内容自由发挥。大家都有求职写简历的时候。会从网上下一些简历模板。一般分为基本信息,个人简介,项目经历,工作经历,培训,证书等。这个就是模板。大家基本上就是在这个模板上填入个人的一些信息。

JAVA对模板模式的实现基本也是一样。先定义一个抽象类,一般在这里会两种方法。

一种是以final修饰的方法,用来明确定义这个抽象类所要完成的基本流程等一些的。这里要写成final,就是不允许其实现类对它的基本流程模板形式进行修改。

另一种是以abstract修饰的方法,用来明确实现类要完成哪些具体的工作(当然在实现时也可能不完成),而具体工作要怎么干并不进行干涉。

合在一起就是流程必须按模板的来,任务大家各自花样去实现

以下以仓库拣货出库的操作业务来具体描述一个模板模式的基本实现。

仓库的拣货出库操作一般要以拿到拣货单开始发起整个流程。包括

1,按拣货任务进行拣货

2,拣货完成后复核拣货列表(也可能不复核)

3,出库

那么就先定义一个抽象的模板类来规定好当前的流程与要完成的任务

import bean.PickDoc;

import bean.PickList;

import bean.PickTask;

public abstract class StockOutTemplate {

//按顺序完成拣货到出库的操作

public final void doExecPickTask(PickDoc doc,PickTask task,PickList list) {

//拣货

doPickup(task);

//复核

doCheck(list);

//出库

doStockOut(doc);

}

//定义拣货方法,具体实现整箱拣货或散件拣货

public abstract void doPickup(PickTask task);

//定义复核方法,具体实现扫描复核或确数复核

public abstract void doCheck(PickList list);

//定义出库方法 具体实现本部物流出库或第三方物流出库

public abstract void doStockOut(PickDoc doc);

}

然后一个具体的业务类来扩展完成具体的业务

package template;

//

// Generated by StarUML(tm) Java Add-In

//

// @ Project : Untitled

// @ File Name : StockOutImpl.java

// @ Date : 2020/4/4

// @ Author :

//

//

import bean.PickDoc;

import bean.PickList;

import bean.PickTask;

public class StockOutImpl extends StockOutTemplate {

//拣货

public void doPickup(PickTask task) {

System.out.println("进行拣货操作");

}

//复核

public void doCheck(PickList list) {

System.out.println("进行复核操作,本仓库不进行复核");

}

//出库

public void doStockOut(PickDoc doc) {

System.out.println("出库单出库操作");

}

}

最后进行调用

设计模式java 模板模式_设计模式-模板模式 JAVA实现相关推荐

  1. java 肌汉模式_设计模式之原型模式详解(附源代码)

    原型模式(Prototype Pattern) 原型模式(Prototype Pattern)是用于创建重复的对象,同时又能保证性能.这种类型的设计模式属于创建型模式,它提供了一种创建对象的最佳方式. ...

  2. 从java多态到策略模式_设计模式中的多态——策略模式详解

    2. 策略模式详解 2.1 策略模式定义 策略模式定义了一系列算法,并将每一个算法封装起来,而且使它们还可以相互替换.策略模式让算法独立于使用它的客户端而独立的变化. 可以使用多态进行类比来理解策略模 ...

  3. java设计与模式_设计模式《JAVA与模式》之状态模式

    在阎宏博士的<JAVA与模式>一书中开头是这样描述状态(State)模式的: 状态模式,又称状态对象模式(Pattern of Objects for States),状态模式是对象的行为 ...

  4. 抽象工厂模式_设计模式系列—抽象工厂模式

    前言 23种设计模式速记 单例(singleton)模式 工厂方法(factory method)模式 23种设计模式快速记忆的请看上面第一篇,前面说完了工厂方法模式,我们发现工厂方法模式存在一个严重 ...

  5. 设计模式 原型模式_设计模式:原型

    设计模式 原型模式 创新设计模式之一是原型设计模式 . 尽管原型是创造模式,但它在概念上与其他模式有所区别. 我的意思是原型在某种意义上创造了自己. 我将在下面解释. 原型模式的所有魔力都基于Java ...

  6. 创建型模式、结构型模式和行为型模式_设计模式之创建型模式

    设计模式GOF23(Group of Four) 设计模式可分为三种类型: 创建型模式:单例模式,工厂模式,抽象工厂模式,建造者模式,原型模式. 结构型模式:适配器模式,桥接模式,装饰模式,组合模式, ...

  7. 米线店结账程序 装饰着模式_设计模式——装饰者模式

    <Head First 设计模式> 学习笔记,码云同步更新中 如有错误或不足之处,请一定指出,谢谢~ 目录 查看其它设计模式笔记,点这里→设计模式笔记汇总 装饰者模式 定义: 动态地将责任 ...

  8. 工厂设计模式解决什么问题_使用工厂模式解决设计问题

    工厂设计模式解决什么问题 工厂设计模式是面向对象环境中最常用的模式之一. 再次来自"创意设计"模式类别,即有关对象创建的所有信息. 在某些情况下,对象的创建很复杂,可能需要某种程度 ...

  9. 代理模式 委派模式 策略模式_设计模式 - 委派模式

    理解 首先委派模式不属于23种设计模式. 所谓委派,个人理解是:将为达到最终结果的事情交给其他人或中间人来干,我只要最终结果,其他的事情,由我委派的人来安排. 更直白的表达就是,比如,我们想要盖一栋楼 ...

  10. java 装饰器_装饰器模式(Java)

    什么是装饰器模式? 装饰器模式允许你向一个现有的对象添加新的功能,同时又不改变其结构,它是作为现有的类的一个包装.这种模式创建了一个装饰类,用来包装原有的类,并在保持类方法签名完整性的前提下,提供了额 ...

最新文章

  1. 20个 css3 html5 设计工具
  2. SAP 电商云 Spartacus UI 的双重 layout 配置层设计
  3. 欢迎使用CSDN-markdown编辑器啦啦啦啦啦
  4. 计算机调剂名额多的考研学校,避免调剂被刷,2020年考研调剂最容易成功的4类院校,提前了解!...
  5. JavaEE开发之SpringMVC中的自定义拦截器及异常处理
  6. Java中对象的比较 == 和 equals()
  7. 查看cp进度,使用watch
  8. sqlmap工具使用用法详解
  9. js与jquery对象的互转
  10. java异常_深入理解java异常处理机制
  11. Word 二级标题不跟随一级标题变化
  12. 扩增子测序引入的假阳性稀有类群干扰对微生物群落多样性、构建机制及相互作用的研究...
  13. Xcode10适配之libstdc++.6.0.9.tdb
  14. 计算机网络学习——套接字实验(二)
  15. 最速下降法求解函数极小值原理
  16. MiniSTM32F103实现家庭普通电路中的电流谐波检测
  17. 经典算法研究系列:图像特征提取与匹配之SIFT算法
  18. 华为手机百度云息屏后停止下载_华为智选车载智慧屏评测:像手机一般好用,行车体验更便捷...
  19. 宜信 、《麻省理工科技评论》共同揭晓: 35岁以前最有可能改变世界的中国科技精英丨Xtecher 前线
  20. Ffuf爆破神器(超详细)

热门文章

  1. android7.0电话录音,芒果录音手机版-芒果通话录音app(电话通话录音软件)下载7.3.2官方安卓版-西西软件下载...
  2. 如何操作才能实现音频合并无缝衔接?只要掌握这个技巧
  3. 国际音标的显示和输入
  4. 西刺代理python_python爬取西刺代理所有数据 !
  5. 电子元件-555时基芯片
  6. 《FLUENT 14流场分析自学手册》——1.6 计算网格与边界条件
  7. Java生成数据字典word文件
  8. 天线巴伦制作和原理_一种宽带集成巴伦及天线单元的制作方法
  9. Cknife(中国菜刀) and AntSword(中国蚁剑)使用
  10. 模糊综合评价法及Python实现