模式的其中一个很重要的用途就是区分 会变化的东西和不会变化的东西. 把2种东西区别开来,做不同的处理.
模板模式就是其中一个比较常用到的模式.
先来看看具体是怎么做的:
1.准备一个抽象类,
2.将部分逻辑以具体方法以及具体构造子的形式实现,
3.然后声明一些抽象方法来迫使子类实现剩余的逻辑。
模板的用意是: 让不同的子类可以对变化的那部分有不同的方式实现。
模版方法模式需要开发抽象类和具体子类的设计师之间的协作。
一个设计师负责给出一个算法的轮廓和骨架,另一些设计师则负责给出这个算法的各个逻辑步骤。代表这些具体逻辑步骤的方法称做基本方法, 而将这些基本法方法总汇起来的方法叫做模版方法
OK. 上代码!
public abstract class AbstractClass{
public abstract void primitiveOperation();
public void handler(){
System.out.println("把东西给我,我交给我的小弟去干!");
primitiveOperation();
System.out.println("我喊我的小弟们做完了!");
}
}
public class Primitiver1 extends AbstractClass{
public void primitiveOperation(){
System.out.println("苦哈哈的干活!");
}
}
public class Primitiver2 extends AbstractClass{
public void primitiveOperation(){
System.out.println("偷偷的玩手机!");
}
}
public class Main{
public static void main(String[] arge){
AbstractClass a = new Primitiver1();
AbstractClass b = new Primitiver2();
a.handler();
b.handler();
}
}
阅读(982) | 评论(0) | 转发(1) |