
软件的架构与设计模式之Layers模式
发布时间:2006-05-13 13:31:34 来源:天极网 网友评论 0 条建筑学的设计原则也应当成为软件系统设计的指导原则。
第一种情况
这也就是最为熟知的情况。客户端向第N层发出请求,而第N层不能独立完成请求,需要调用第N-1层所提供的服务,第N-1层同样需要他的下级,也就是N-2层所提供的服务。如此往复,直到第2层和第1层。
第1层可以独立完成自己的任务,它将执行的结果返还给第2层。第2层得到第1层的结果之后,便能够继续完成自己的任务了,它会把执行的结果继续向上,也就是第3层传递。如此反复,一直到第N-1层和第N层。

图12、在有N个层次的架构中,请求(Request)沿着层次自上向下传递,结果(Result)自下向上传递。
系统的客户端只知道第N层,它向第N层发出请求,并且从第N层接到结果,客户端并不知道其他层次的存在。参见下图。

图13、客户端只知道第N层,而不知道其他层次。
第二种情况
这第二种情况代表了自下至上的通讯,称为通知(Notification)。这一系列的行为开始于第1层,这一层通过处理后,将通知向上传给第2层,继续向上传递到第3层,一直到第N-1层和第N层为止。参见下图。

图14、在有N个层次的架构中,Notification沿着层次自下向上传递。
使用过USB设备的读者知道,一旦把USB设备插入到计算机中的时候,USB驱动软件立刻就会发现设备被激活,并通知设备的设备操作软件,设备操作软件便会启动。这一系列的行为就是Notification自下向上传递的过程。
在第一种情况中,请求首先向下传递,然后结果逆向传递,形成一个环形。在第二种情况中,Notification的传递是单向的。
第三种情况
这一种情况与第一种情况相似,只是仅涉及到一部分的层次而已。
首先客户端向第N层发出请求,而第N层不能独立完成请求,需要调用第N-1层所提供的服务,第N-1层同样需要他的下级,也就是N-2层所提供的服务。如此往复,直到第J层为止。
第J层可以独立完成自己的任务,而不再需要J-1层。它将执行的结果返还给第J+1层。第J+1层得到第J层的结果之后,便能够继续完成自己的任务了,它会把执行的结果继续向上,也就是第J+2层传递。如此反复,一直到第N-1层和第N层。参见下图。

图15、在有N个层次的架构中,Request向上传递到某个中间层次就停止了,Result从那里向下传递。
同样,客户端只知道第N层,而不知道其他层次的存在。
- 在DBGrid组件中显示和编辑MEMO字段
- 软件的架构与设计模式之Layers模式
- 软件的架构与模式之经典架构模式简介
- 程序界面设计模式慨述
- 软件的架构与设计模式之模式的种类
- Delphi面向对象的编程方法(六)
- 基于Delphi的“八皇后”问题动态实现
- Delphi快速入门(二)
- Oracle平台应用数据库系统的设计与开发
- 5天玩转NoahWeb逻辑层--第一天
- 1.全面剖析Delphi 2006新增特性
- 2.用Delphi开发视频聊天软件
- 3.用Win32 API枚举应用程序窗口和进程
- 4.软件的架构与设计模式之什么是架构
- 5.软件的架构与设计模式之模式的种类
- 6.Delphi中为TreeView添加单选和复选框
- 7.用Delphi实现24位真彩色图标
- 8.VS.NET2005 Beta2初体验之感受2005
- 9.程序界面设计模式慨述
- 10.没落的奇迹 谁会买下Delphi?
- 大话G游 专题:手机病毒揭密
- ARP攻击防范与解决方案 路由故障处理手册
- Picasa中文版_Picasa教程 专题:清除流氓软件
- Firefox专题 seo搜索引擎优化专区
- 重装Windows必知的事情 装机之必备软件大行动
