前 言
许多开发者都利用设计模式来解决重复性问题。伴随着新技术的涌现,例如RIA,你将有机会构建更加贴近用户需求的应用程序。这样一来,部分描述传统基于服务器的应用程序的模式将会变得更注重客户端的能力。这样的变革会是逐步演进的,幸运的是,现今所用到的技术同样适用这一新模式。这篇文章探究了传统基于服务器的应用程序与RIA模式之间的差别,也阐述了它们共有的高阶设计模式。稍后的文章重点将在特殊的设计模式上,以及如何建立富客户端应用程序。
为什么丰富?
RIA是Web开发和部署模式的一种演变。WWW和HTML最初是用来显示信息和为这些信息进行随机存储的联合体。Web部署模式非常有用,然而,一些开发团队迫不及待地使用HTML来创建应用程序界面。这样一来,由于用户界面控制的有界集,以及缺乏客户端数据控制模式,大部分应用程序在可用性上面是毫无意义的地位。
早期的Web应用程序开发中,围绕着数据传送、资源分配、业务逻辑以及其他基础问题,开发者花费了大量的时间来解决。作为一种成熟和标准的技术来解决这些问题,产生了更有吸引力的Web部署模式。虽然最后已经很成熟,但是表述层还是不完善。RIA的到来帮助开发者有机会实现用户程序界面的功能性需求,创建更实用的应用程序,减少失败的机率,增加交易完成的数量。
丰富的含义有两种,丰富的数据模型和丰富的用户界面。丰富的数据意味着客户端的用户界面能表现和应对更多更复杂的数据模式,这样才能处理客户端的运算以及异步发送、接受数据。优势在于,当页面在服务器上创建完成并交付给HTML后,客户端的程序为用户提供比与服务器交互更良好的感受。为了达到高度复杂的数据模式,客户端允许你构建一个高响应、交互式的应用程序。
丰富也指提供更多的改良界面。HTML只能为用户的界面控制提供有限的功能,反之RIA允许一些富有创造性的界面控制,巧妙的与数据模式相合。传统的互联网模式是线性设计方式,用户唯一的选择就是用批处理方式提交页面到服务器。在这种技术限制下用户体验很糟糕,这种程序不是用户所需要的。连续处理服务器请求和页面更新存在许多障碍,包括页面响应时间、不良的网络带宽、以及满足session或state交叉连接而不断增长的日常开销。伴随着丰富的用户界面,你可以从早期的,服务器响应影响整个界面的运作模式,迁移到只对发出请求的特定区域进行改变的模式上来。本质上,意味着界面将会被分解为由单独个体组成,来适应局部改变、服务器交互、以及客户端内部组件的通讯。
丰富的结果是你可以创建一个客户端界面,这样更容易反映丰富性与复杂性共存的数据和逻辑。