您的位置:首页 > 其它

设计模式之模板模式:Template模式

2013-09-12 14:32 302 查看
一. 模式概述

      摸板方法(Template Method)模式是一种非常简单而又经常使用的设计模式.先创建一个父类,把其中的一个或多个方法留给子类去实现,这实际上就是在使用摸板模式.所谓的摸板模式可以这样来理解:"在一个类中定义一个算法,但将此算法的某些细节留到子类中去实现.换句话说,基类是一个抽象类,那么你就是在使用一种简单形式的摸板模式."

      更近一步可以这样来理解:"准备一个抽象类,将部分逻辑以具体方法的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的方法实现这些抽象方法,从而对剩余的逻辑有不同的实现."

 

二. 模式意图

      将一个类的基本部分抽取出来放到一个基类中,这样它就不必重复出现在几个派生类里.

 

三. 模式UML图

                           


四. 模式结构与参与者

   

 抽象摸板角色:

        1. 定义了一个或多个抽象操作,以便让子类实现.

        2. 定义并实现了一个摸板方法.

   

 具体摸板角色:

        1. 实现父类所定义的一个或多个抽象方法.

        2. 每一个抽象摸板角色都可以有任意多个具体摸板角色与之对应.

        3. 每一个具体摸板角色都可以给出这些抽象方法的不同实现.

Java代码  


public abstract class Template  
{  
    protected abstract void checkFinance();  
     
    public final void doTotal()  
//模板方法  
   {  
        checkFinance();  
        System.out.println("Company Finance has been check-out ");  
    }  
}  
  
public class FilialeTemplate extends Template  
{  
    protected void checkFinance()  
    {  
        System.out.println("Filiale render check report");  
    }  
}  
  
public class TestTemplate  
{  
    public static void main(String[] args)  
    {  
        Template template = new FilialeTemplate();  
        template.doTotal();  
    }  
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: