首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件开发 >

JAXP中的设计形式

2012-10-28 
JAXP中的设计模式JAXP提供DOM和SAX两种解析方式。DOM解析方式下使用DocumentBuilder解析生成Document。使用A

JAXP中的设计模式
JAXP提供DOM和SAX两种解析方式。

DOM解析方式下使用DocumentBuilder解析生成Document。
使用Abstract Factory模式管理DocumentBuilder的创建。

图 1 创建DOM解析器

Document由一系列Node组成,以及继承于Node的Element。Node
使用了Composite模式。


图 2 Document的结构



SAX解析方式下使用SAXParser进行解析。使用Abstract Factory
模式管理SAXParser的创建。


图 3 创建SAX解析器

SAXParser提供了Parser和XMLReader两种解析方式入口,把真正的
解析委托给这两种实现。解析过程通过不同的handler插入外部行为,
这是Visitor模式。


图4 SAX解析行为

Transformer提供了基于XML的转换接口,转换操作抽象为根据Source
生成Result。Transformer的创建也使用了Abstract Factory模式。


图5 创建Transformer

Source和Result只携带基本标识信息,转换所需的其他信息都由
具体的实现来提供,这减轻了源和目标的依赖关系,但加重了
TransformerImpl的负担,TransformerImpl要取分不同的类型。


图6 Source和Result实现

热点排行