解读设计模式----模板方法模式(Template Method),电脑就是这样造出来的
2008-07-23 00:26
501 查看
一. 模式概述
摸板方法(Template Method)模式是一种非常简单而又经常使用的设计模式.先创建一个父类,把其中的一个或多个方法留给子类去实现,这实际上就是在使用摸板模式.所谓的摸板模式可以这样来理解:"在一个类中定义一个算法,但将此算法的某些细节留到子类中去实现.换句话说,基类是一个抽象类,那么你就是在使用一种简单形式的摸板模式."
更近一步可以这样来理解:"准备一个抽象类,将部分逻辑以具体方法的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的方法实现这些抽象方法,从而对剩余的逻辑有不同的实现."
二. 模式意图
将一个类的基本部分抽取出来放到一个基类中,这样它就不必重复出现在几个派生类里.
三. 模式UML图(下图转自http://www.dofactory.com/)
namespace DesignPattern.TemplateMethod.Computer
2namespace DesignPattern.TemplateMethod.Computer
2namespace DesignPattern.TemplateMethod.Computer
2{
3{
7{
9 Template t = new NotePc("笔记本");
10 t.MakePC();
11 }
12 }
13}
程序运行结果如下:
七. 典型的摸板方法应用
1. HttpServlet技术
HttpServlet类提供了一个service()方法.这个方法调用了一个或是多个do方法,完成对客户端发起的请求的处理,这些do方法则是由具体的HttpServlet类提供的.那么这里的service()方法就是一个摸板方法.
注:转载请注明出处: http://beniao.cnblogs.com/ 或 http://www.cnblogs.com/ 作者:beniao
摸板方法(Template Method)模式是一种非常简单而又经常使用的设计模式.先创建一个父类,把其中的一个或多个方法留给子类去实现,这实际上就是在使用摸板模式.所谓的摸板模式可以这样来理解:"在一个类中定义一个算法,但将此算法的某些细节留到子类中去实现.换句话说,基类是一个抽象类,那么你就是在使用一种简单形式的摸板模式."
更近一步可以这样来理解:"准备一个抽象类,将部分逻辑以具体方法的形式实现,然后申明一些抽象方法来迫使子类实现剩余的逻辑.不同的子类可以以不同的方法实现这些抽象方法,从而对剩余的逻辑有不同的实现."
二. 模式意图
将一个类的基本部分抽取出来放到一个基类中,这样它就不必重复出现在几个派生类里.
三. 模式UML图(下图转自http://www.dofactory.com/)
namespace DesignPattern.TemplateMethod.Computer
2namespace DesignPattern.TemplateMethod.Computer
2namespace DesignPattern.TemplateMethod.Computer
2{
3{
7{
9 Template t = new NotePc("笔记本");
10 t.MakePC();
11 }
12 }
13}
程序运行结果如下:
七. 典型的摸板方法应用
1. HttpServlet技术
HttpServlet类提供了一个service()方法.这个方法调用了一个或是多个do方法,完成对客户端发起的请求的处理,这些do方法则是由具体的HttpServlet类提供的.那么这里的service()方法就是一个摸板方法.
注:转载请注明出处: http://beniao.cnblogs.com/ 或 http://www.cnblogs.com/ 作者:beniao
相关文章推荐
- 设计模式----Template Method(模板方法)
- Java设计模式之模板方法模式(Template Method)
- Java设计模式透析之 —— 模板方法(Template Method)
- 乐在其中设计模式(C#) - 模板方法模式(Template Method Pattern)
- Java设计模式—模板方法(Template Method)
- 设计模式(Design Pattern) - 行为型模式(Behavioral Pattern) - 模板方法模式(Template Method) - Java实现
- 23种设计模式之模板方法(Template Method)
- 设计模式学习-Template Method(模板方法)
- 设计模式C++学习笔记之九(Template Method模板方法模式)
- 设计模式学习笔记(三):模板方法模式【Template Method】(一) 问题提出
- 【java设计模式】之 模板方法(Template Method)模式
- 【行为型模式】模板方法模式(template method)之23种java设计模式
- 设计模式C++学习笔记之九(Template Method模板方法模式)
- 设计模式学习笔记(七)之模板方法模式(Template Method)
- 设计模式——模板方法模式(Template Method)
- 【设计模式】行为模式之Template Method模板方法
- 设计模式学习笔记--模板方法(Template Method)模式
- Java设计模式透析之 —— 模板方法(Template Method)
- 设计模式1--template method(模板方法)
- 极速理解设计模式系列:20.模板方法模式(Template Method Pattern)