设计模式-两步视图(Two Step View)

方法

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

运行机制

  • 转换的中间格式是一种逻辑屏幕,包括的元素:字段、标题、页脚、表格、选项和其他一些类似的东西。所定义的一些小窗口部件都不详细说明HTML的外观。
  • 第一阶段的作用:
  1. 访问一个面向领域的模型(数据库或者面向领域的数据传输对象)
  2. 为屏幕提取相关信息
  3. 把这个信息放入面向表现的结构中
  • 第二阶段的作用:把面向表现的结构转换成HTML

两种建立两步视图的方法:

  • 使用两步XSLT:存在两个XSL样式表,先把面向领域的XML转换成面向表现的XML,再转换成HTML。
  • 使用类:把面向表现的结构定义成一系列的类,如表类、行类等。
     

使用时机

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

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

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

示例-两阶段XSLT

Step1准备XML。


Step2转换程序XSLT。


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


Step4第二阶段转换程序XSTL。

示例-JSP和定制标记(Java

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

第二阶段被一系列定制标记来处理
  • 12
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值