所谓模板方法模式,就是在一组方法结构一致,只有部分逻辑不一样时,使用抽象类制作一个逻辑模板,具体是实现类仅仅实现特殊逻辑就行了。类似科举制度八股文,文章结构相同,仅仅具体语句有差异,我们只需要按照八股文框架添加具体语句即可。
实际上,在中,我已经在业务执行,事务回滚方法中使用了模板方法模式,下面我们再以一个加减法例子阐述模板方法模式使用:
package com.coshaho.learn.strategy;public abstract class AbstractCaculator { public int caculate(String a, String b) { return caculate(transNumber(b), transNumber(b)); } public int transNumber(String s) { return Integer.parseInt(s); } abstract int caculate(int a, int b);}class Plus extends AbstractCaculator{ @Override int caculate(int a, int b) { return a + b; }}class Minus extends AbstractCaculator{ @Override int caculate(int a, int b) { return a - b; }}