模板方法模式是最重要也是最基本的模式。
定义一个抽象类型接口实现,定义某个模板方法,那么子类根据不同的需求实现不同的方法体,这样当客户端调用模板方法的时候,可以根据需求实例化不同的子类来提供模板方法,实现不同的行为。
在阎宏的java与模式一书中也提到了模板方法模式,它将的是servlet的例子,本人也阅读过Tomcat源码,了解servlet容器的实现方式,那么到底是怎么回事呢?
实际上当我们直接或者间接实现javax.servlet.Servlet接口(可以通过继承HttpServlet抽象类或者继承GenericServlet),并且在web.xml中配置了该servlet类,那么在tomcat容器启动过程中会解析web.xml中配置的servlet类并且实例化,通过Servlet接口变量引用具体子类的实例,然后调用service方法,在service方法中在根据请求的方式,调用相应的方法处理请求。
之所以称为模板方法模式,实际上这个模板方法只是大家公认的一个标准,在servlet容器中会固定的调用这个方法,所有如果你想完成业务逻辑就必须在这个方法中实现,这样容器才能替你工作。
这个模式实际上还是比较简单的,体现的还是里氏代换原则,面向对象的思想...
分享到:
相关推荐
java的23种常用设计模式:模板方法模式
适合20分钟左右讲解的模板方法模式。 自己上课用的。
模板方法模式:定义一个操作中的算法骨架,而将一些步骤延迟到子类中,模板方法使得子类可以不改变一个算法的结构即可重新定义该算法的某些特定步骤。
设计模式-模板方法模式(讲解及其实现代码)
设计模式C++学习之模板方法模式(Template Method)
设计模式模板方法模式PPT学习教案.pptx
模板方法模式的示例代码和文档,学习模板方法模式的参考资料。
模板方法模式是基于继承的代码复用基本技术,模板方法模式的结构和用法也是面向对象设计的核心之一。在模板方法模式中,可以将相同的代码放在父类中,而将不同的方法实现放在不同的子类中。 在模板方法模式中,我们...
策略模式结合模板方法模式
iOS模板方法模式使用心得demo
模板方法模式例子代码
处理层的设计采用了设计模式中的策略模式、模板方法模式和工厂模式。 Server端和Client端的实现也采用了分层的设计方式,包含自定义的模型层、视图层和控制层。 说明:程序采用配置文件的方式进行初始化,运行时时请...
设计模式--模板方法模式java例子
Head First 设计模式 (八) 模板方法模式(Template Method pattern) C++实现
模板方法模式是一种行为设计模式,它在一个方法中定义算法的骨架,将一些步骤延迟到子类中实现。 具体来说,模板方法模式的关键特点包括: 抽象类:在抽象类中定义一个模板方法,该方法给出了算法的框架。 具体...
将《Head First 设计模式》(中文版)按章节进行了分割,每章一个文件,方便大家下载。