JavaScript must be enabled in order for you to view this page. However, it seems JavaScript is either disabled or not supported by your browser. To view this page, enable JavaScript by changing your browser options, then Try again! .

 
我的论坛
Google 网上论坛 Beta 版
Do Best Developer
访问此论坛

Tomcat中的策略模式

这个标题可能不是很确切。确切的说法应该是Commons Digester中的策略模式。

Commons Digester是Apache Jakarta的一个XML到Java Object的映射工具包。

Tomcat和Struts都使用这个工具包来处理XML配置文件。在Tomcat中并没有直接使用Digester的*.jar文件而是将Digester做了一些简化放到了org.apache.tomcat.util.digester包中。我们下面的讨论是基于org.apache.tomcat.util.digester包的,这也是我们使用这个标题的用意,但是这里的讨论也完全适用于Digester。

具体的结构图如下:

Tomcat中的策略模式

这里涉及到两个策略模式。Rules是一个策略,封装了选择Rule的逻辑,可以通过定制Rules来实现自定义匹配逻辑。Rule是另一个策略,这是显而易见,封装了某种操作。如果需要自定义Rule那么必须认真考虑相关堆栈的状态。通常的做法是谁改变谁负责恢复。

关于模式的相关问题可以参阅面向对象设计(Object-Oriented Design)。如果您对这里的内容感兴趣可以和我们联系!