常用开源框架中设计模式使用分析- 模板设计模式(Template Pattern)

十一、模板设计模式(Template Pattern)

11.1 前言

模板设计模式是一种行为设计模式,它使用一个抽象类定义了一个模板,这个模板里面定义了一系列的接口,子类则只需要继承该抽象类并且根据需要重写一部分接口。

阿里巴巴长期招聘Java研发工程师p6,p7,p8等上不封顶级别,有意向的可以发简历给我,注明想去的部门和工作地点:[email protected]_

11.2 ibatis2中AbstractDAOTemplate

常用开源框架中设计模式使用分析- 模板设计模式(Template Pattern)_第1张图片
image.png

如图AbstractDAOTemplate是抽象模板类,里面定义了configure方法,configure方法里面定义了好多protected方法,其中就有些是抽象方法。类SpringDAOTemplate,IbatisDAOTemplate,GenericCIDAOTemplate,GenericSIDAOTemplate则继承了AbstractDAOTemplate类并重写了一部分方法。

11.3 Tomcat中Digester里面的Rule

tomcat中的Digester是为了解析server.xml的,其中每个元素都有一个解析规则就是Rule ,类图如下:

常用开源框架中设计模式使用分析- 模板设计模式(Template Pattern)_第2张图片
image.png

如图:Rule是抽象类,对于每个解析的节点来说Rule提供了解析所需所有的方法,而他的子类则根据自己的特殊性重写一部分方法来支持自己的特性。

11.4 Tomcat中Endpoint

常用开源框架中设计模式使用分析- 模板设计模式(Template Pattern)_第3张图片
image.png

如图AbstractEndpoint是个抽象类,定义了Endpoint的所有接口,然后JIoEndpoint继承了该类并且重写了一部分重要的方法实现了BIO方式endpoint,NioEndpoint则重写了方法实现了NIO的endpoint.

11.5使用场景

  • 当多个子类具有共同的操作流程逻辑,并且其中某些流程节点操作需要自己定制化时候。

欢迎关注微信公众号:技术原始积累 获取更多技术干货

image.png

你可能感兴趣的:(常用开源框架中设计模式使用分析- 模板设计模式(Template Pattern))