设计模式-两步视图(Two Step View)
·
方法
用两个步骤来把领域数据转换成HTML,第一步,形成某些逻辑页面;第二步,把这些逻辑页面转换成HTML页面。
首先把模型中的数据转换成不待任何详细格式信息的逻辑表示;其次,再把这个逻辑表示转换成需要的实际格式。
修改第二步,就可以进行全局改变。

运行机制
- 转换的中间格式是一种逻辑屏幕,包括的元素:字段、标题、页脚、表格、选项和其他一些类似的东西。所定义的一些小窗口部件都不详细说明HTML的外观。
- 第一阶段的作用:
- 访问一个面向领域的模型(数据库或者面向领域的数据传输对象)
- 为屏幕提取相关信息
- 把这个信息放入面向表现的结构中
- 第二阶段的作用:把面向表现的结构转换成HTML
两种建立两步视图的方法:
- 使用两步XSLT:存在两个XSL样式表,先把面向领域的XML转换成面向表现的XML,再转换成HTML。
- 使用类:把面向表现的结构定义成一系列的类,如表类、行类等。

使用时机
- 如果希望采用一个相同的基础结构,每个结构都拥有它自己的样式,可以使用两步视图。
- 使用两步视图,可以先针对每个网页有一个第一阶段模块,针对整个应用,有一个第二阶段模块。

- 使用多外观应用时,针对屏幕和外观的每种结合,都是一个单阶段视图。
- 多外观应用,采用两阶段视图,模块数目会大大减少。

- 两步视图的另一个缺点是需要使用工具。
- 由于两步视图的多重层次而呈现出更为困难的变成模型。
- 可以为不同的设备提供不同的第二阶段,例如可以为一个浏览器和一个PDA各准备第二阶段设计。
示例-两阶段XSLT
Step1准备XML。

Step2转换程序XSLT。

Step3转换成下列面向屏幕的XML。

Step4第二阶段转换程序XSTL。


示例-JSP和定制标记(Java)
另外一种风格的两阶段视图方法:
第一阶段被JSP页面和它的辅助对象来处理;第二阶段被一系列定制标记来处理

第二阶段被一系列定制标记来处理

更多推荐
所有评论(0)