模板方法模式
Template Method Pattern
定义:
Define the skeleton of an algorithm in an operation, deferring some steps to subclasses. Template Method subclasses redefine certain steps of an algorithm without changing the algorithm’s structure.
定义一个操作中的算法框架,将一些步骤延迟到子类中。让子类可以不修改算法的结构就可以重定义特定步骤。
在java
中就是利用继承抽象模板类来实现。抽象类决定结构,实现类来实现方法。
抽象类AbstractClass
的方法分为两种:
-
基本方法:
由子类实现的方法,在模板方法中被调用
-
模板方法:
原文:可以有一个或几个,一般是一个具体方法,也就是一个框架,实现对基本方法的调用,完成固定的逻辑。
在模板里的具体方法,这个具体方法一般写的是对基本方法的调用。
模板方法里最好加上final修饰,不允许被重写
通用代码:
//抽象模板类
public abstract class AbstractClass {
//基本方法
protected abstract void doSomething