模板设计模式是一种行为设计模式,它使用一个抽象类定义了一个模板,这个模板里面定义了一系列的接口,子类则只需要继承该抽象类并且根据需要重写一部分接口。
image.png
如图AbstractDAOTemplate是抽象模板类,里面定义了configure方法,configure方法里面定义了好多protected方法,其中就有些是抽象方法。类SpringDAOTemplate,IbatisDAOTemplate,GenericCIDAOTemplate,GenericSIDAOTemplate则继承了AbstractDAOTemplate类并重写了一部分方法。
tomcat中的Digester是为了解析server.xml的,其中每个元素都有一个解析规则就是Rule ,类图如下:
image.png
如图:Rule是抽象类,对于每个解析的节点来说Rule提供了解析所需所有的方法,而他的子类则根据自己的特殊性重写一部分方法来支持自己的特性。
image.png
如图AbstractEndpoint是个抽象类,定义了Endpoint的所有接口,然后JIoEndpoint继承了该类并且重写了一部分重要的方法实现了BIO方式endpoint,NioEndpoint则重写了方法实现了NIO的endpoint.