设计思路:
针对系统设计前期,不可能知道每个业务的具体实现,但是总体是知道某些业务之间的逻辑。所以我们可以在抽象类里面定义好(抽象业务)的抽象方法,
利用继承的多态,让子类实现父类,继承抽象方法。
代码思路:
1. 抽象类
package com.github.noodzhan.pattern.template;
public abstract class AbstractDoSomething {
public void executeAllThing(){
this.doNoKnowSomeThing();
this.executeKnowSomeThing();
}
public void executeKnowSomeThing(){
System.out.println("做已经知道的事情");
}
public abstract void doNoKnowSomeThing();
public static void main(String[] args) {
AbstractDoSomething doNoKnowSomeThingOne = new DoNoKnowSomeThingOne();
AbstractDoSomething doKnowSomeThingTwo = new DoKnowSomeThingTwo();
doNoKnowSomeThingOne.executeAllThing();
doKnowSomeThingTwo.executeAllThing();
}
}
2. 具体子类一
package com.github.noodzhan.pattern.template;
public class DoNoKnowSomeThingOne extends AbstractDoSomething{
@Override
public void doNoKnowSomeThing() {
System.out.println("业务一:需要这么做开始不知道的方法");
}
}
3. 具体子类二
package com.github.noodzhan.pattern.template;
public class DoKnowSomeThingTwo extends AbstractDoSomething{
@Override
public void doNoKnowSomeThing() {
System.out.println("业务二:需要这么做开始不知道的方法");
}
}