RIA 体系中的设计模式-客户端组件到服务器的通讯(完)(翻译)

翻译 2004年07月08日 21:11:00

声 明

 

本章节由笔者与网友 withwind 联合翻译。

--------------------------------------------------

 

 

本章节由笔者与网友 withwind 联合翻译。

--------------------------------------------------

  

客户端组件到服务器的通讯

在对客户端组件到服务器的通讯进行设计时,必须应用尽可能小并且细粒度的组件来组建界面,并需要具有包含其他组件的能力,同时还要保留它 * 组件功能的中央控制
* 消息接收的中央控制
* 服务通讯的中央控制
* 分离的代码来控制界面逻辑和事件管理

这个设计在用户界面的基础之上建立了四个类,如下图所示:


6:客户端组件到服务器通讯所需要的四个类

这四个类各自的职责如下:
* 用户界面是控件(日历,数据表格,检查框,颜色等等)依存的地方。
* 视图逻辑包含操作用户界面的代码,映射数据到字段,描绘数据等等。
* 本地数据模型是指那些为应用程序保存数据的组件。
* 控制器和协调器通常被实现为一个组件。
  - 控制器负责为用户界面控制所有的过程。它决定如何处理从远程服务器或从用户界面传来的事件。
  - 协调器负责从组件到远程服务的外部通讯。协调器还负责承载那些从远程服务回调的方法。

根据这种方式设计用户界面,无论你以何种形式把组件放在界面中,UI组件们都保持了其个体独立性。通过为个别组件提供一个通用的抽象接口,协调器允许UI组件独立运作或是作为一个更大的界面组件的一部分被使用。下图描绘了客户端结构:


7:客户端体系结构

以银行应用为例,它包含了一个可以把用户服务请求提交到银行的界面组件。服务中介从界面组件中请求一个针对这个远程服务的处理器使得它可以运行适当的方法。这个界面包括大量的控件以及一个按钮来触发响应事件。界面控制器的视图逻辑能够捕捉到该事件。当事件被调用时,它触发控制器并通知视图逻辑来为本次事务建立本地数据模型。等应用程序将数据模型准备好后,控制器通知协调器,让它提交一个用户服务请求并传递所收集的数据。协调器与服务中介联系,请求适当的服务并传递给它一个针对它自己的操作句柄。当协调器受到从服务中介传递来的消息后,它发出一个消息来产生适当的请求。当服务器上的服务运行结束之后,它传递反应数据消息到客户端。桥接器引导这个反应消息到协调器,以决定调用控制器上的哪个方法,并接着调用那条信息来正确的转变界面外观。

永恒的主题


    顺理成章,任何应用程序体系结构都渐渐变得脱离它的独特需求,而开始应该遵循一种严格的设计方法。这篇文章提出两种庞大的客户端模式,你应该把它们所阐述的普遍观点应用在所有应用程序开发项目中。稍后的文章会阐述更多的特殊设计模式和它们所能解决的问题。


向丰富迁移

    软件开发,以及促使软件开发逐渐向“技术和问题的集合”方向发展的观点是很总要的。Web程序开发的传统模式把信息和程序资源组织起来,来应对广阔的用户需求,但是往往在可用性和用户体验上面很糟糕。RIA在直觉上保留这种Web部署模式,来响应用户体验。这么一来,这种概念就是围绕着怎样构建重视新功能和用户模式的应用程序展开。在观点上会产生微小变化,运用现有的后端服务器和程序结构,也可提供更好的用户体验。

      

(请注意!引用、转贴本文应注明译者:Rosen Jiang 以及出处:http://blog.csdn.net/rosen

      

(请注意!引用、转贴本文应注明译者:Rosen Jiang 以及出处:http://blog.csdn.net/rosen

RIA 体系中的设计模式-设计模式(翻译)

声 明 本章节由网友 withwind 翻译,由笔者负责后期的文章润饰。--------------------------------------------------  RIA体系结构中的设计模...
  • rosen
  • rosen
  • 2004年06月13日 16:10
  • 1274

RIA 体系中的设计模式- RIA 设计(翻译)

声 明本章节由网友 azure 翻译,由笔者负责后期的文章润饰。--------------------------------------------------------------------...
  • rosen
  • rosen
  • 2004年06月10日 10:36
  • 4216

RIA 体系中的设计模式-为什么丰富?(翻译)

前 言 许多开发者都利用设计模式来解决重复性问题。伴随着新技术的涌现,例如RIA,你将有机会构建更加贴近用户需求的应用程序。这样一来,部分描述传统基于服务器的应用程序的模式将会变得更注重客户端的能力。...
  • rosen
  • rosen
  • 2004年06月08日 09:59
  • 1519

Java实现服务器和客户端简单通信

Java中网络编程这一块有封装的类库,使用简单,了解原理可以教容易实现服务器和客户端的简单通信。在编程之前,首先要需要对TCP/IP协议有一定的了解,需要知道Socket套接字的作用以及用法,这个可以...
  • superxiaolong123
  • superxiaolong123
  • 2017年04月13日 21:40
  • 1383

分享一个jQuery UI 的客户端框架(jQuery RIA framework)和文档

DWZ富客户端框架(jQuery RIA framework),是中国人自己开发的基于jQuery实现的Ajax RIA开源框架。  DWZ富客户端框架设计目标是简单实用、扩展方便、快速开发、RIA思...
  • wlzzliang
  • wlzzliang
  • 2013年07月15日 18:03
  • 791

实现私有化(Pimpl) --- QT常见的设计模式

转载自:http://blog.sina.com.cn/s/blog_667102dd0100wxbi.html 一、遇到的问题 1.隐藏实现 我们在给客户端提供接口的时候只希望能暴...
  • zgrjkflmkyc
  • zgrjkflmkyc
  • 2015年11月02日 15:03
  • 1775

TCP/IP通信 客户端、服务器 实例

本篇文章实现了一个基于TCP 的一个非常简单的客户/服务器通信程序实例。该程序中通讯协议使用的是面向连接的TCP协议SOCK_STREAM, 服务器的ip地址为本地地址即: 127.0.0.1,...
  • qingzai_
  • qingzai_
  • 2016年03月22日 14:00
  • 1369

富客户端技术与RCP介绍(转载)

1.  富客户端技术与RCP介绍1.1.        富客户端技术简介富客户端技术作为目前一项业界推崇的客户端技术,正备受关注。本文我们要了解富客户端技术以及Eclipse上开发富客户端程序的平台R...
  • landca
  • landca
  • 2010年09月16日 12:54
  • 2034

TCP数据传输(四):上传文件操作(将客户端的文件发送到服务器)

TCP数据传输:上传文件操作(将客户端的文件发送到服务器)
  • wangyanming123
  • wangyanming123
  • 2016年05月08日 21:10
  • 561

服务器跟客户端通信的几种方式:ssh sftp...

1、 使用SSH模式连接服务器(主要用于操作服务器) 2、 使用sftp 连接服务器(主要用于上传跟下载) 3、 使用软件:SecureCRT进行连接...
  • gfd54gd5f46
  • gfd54gd5f46
  • 2016年12月29日 20:04
  • 528
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:RIA 体系中的设计模式-客户端组件到服务器的通讯(完)(翻译)
举报原因:
原因补充:

(最多只允许输入30个字)