Chinaunix首页 | 论坛 | 博客
  • 博客访问: 100341
  • 博文数量: 31
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 578
  • 用 户 组: 普通用户
  • 注册时间: 2014-11-18 11:01
文章分类

全部博文(31)

文章存档

2015年(13)

2014年(18)

分类: Java

2014-11-29 11:56:16

模式的其中一个很重要的用途就是区分 会变化的东西和不会变化的东西. 把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();
    }
}
阅读(970) | 评论(0) | 转发(1) |
给主人留下些什么吧!~~