什么是模板方法模式
Template Method模式,我的理解就是它是一种抽象类实现方法的一种升级版的设计模式。所谓模板就是将某一种工序流程方法抽象成一个统一的模板,比如说我有一个绘画的模板,我们可以选择任何一种画笔,比如我使用红笔画这个模板画出来的就是红色的,我用蜡笔那就蜡笔画出来的画。
模板方法的实现
比如这时候我们有一个流程,流程中需要调用几个工序,这几个工序的顺序是不变的,但是具体的工序是会变化的。这时候我们就可以使用模板方法模式了。
首先,我们先定义一个抽象类,这个抽象类里面有具体的模板方法和几个工序方法,工序方法是抽象方法(这个就需要子类去实现具体方法),模板方法里需要调用这几个方法比如说先是工序1然后是工序2最后是工序4。
当我们需要具体实现的时候,我们需要加一个类继承于这个抽象类并且实现它的抽象方法。
代码实现
这里我就直接使用vs在md文件里手敲了,比较简单但最重要的是思想。
首先是抽象类AbstractProcess
1 | public abstract class AbstractProcess { |
然后是实现类代码
1 | public class MakePencilProcess extends AbstractProcess{ |
最后是客户端类
1 | public class Main{ |
后记
这两天在看vue,突然有好多要学的现在有点不知所措,期末,练车,数据结构,设计模式,Java项目,大创,前端项目,vue,六级考试,操作系统实验。。。感觉自己野心有点太大了,慢慢来吧,不能太急。
这几天突然意识到自己缺少了很多生活的记忆,尤其是前几天肝项目的时候,让我回忆那几天生活里干了啥我已经记不清了,我觉得我不能成为那样的呆子,那不是我,那也是我以前不想成为的人。