图 )!*典型的 模式
如果将 模式拆解为三个独立的部分: 、"、 ,我们可以通过 +,( 设
计模式来实现和管理它们之间的关系。在体系架构设计中,业务逻辑层的领域对象以及数据访
问层的数据值对象都属于 模式的 对象。如果要管理 与 " 之间的关系,
可以利用 ,' 模式," 作为观察者,一旦 的属性值发生变化,就会通知
" 基于 的值进行更新。而 作为控制用户请求-响应的对象,则可以利用
模式,专门负责请求-响应任务之间的调节。而对于 " 本身,在面向组件设计思
想的基础上,我们通常将它设计为组件或者控件,这些组件或者控件根据自身特性的不同,共
同组成一种类似于递归组合的对象结构,因而我们可以利用 #& 模式来设计 " 对象。
然而在 平台下,我们并不需要自己去实现 模式。对于 " 对象而言, 已
经提供了常用的 控件,我们也可以通过继承 # ,自定义用
户控件,并利用 . 页面组合 控件来实现视图。 定义了
#/ 类,它相当于 模式的 对象,可以处理用户的请求。
由于利用了 0 技术,使得用户界面的显示与 实现逻辑完全分离,也即是说,
" 对象与 对象成为相对独立的两部分,从而有利于代码的重用性。比较 而
言,这种编程方式更符合开发人员的编程习惯,同时有利于开发人员与 设计人员的分工与协
作。至于 对象,则为业务逻辑层的领域对象。此外, 平台通过 1, 提供了
1 对象,便于与 控件的数据源绑定。
)2/ 模式的应用
通观 0& 的表示层设计,充分利用了 的技术特点,通过 页面与用户控件
控制和展现视图,并利用 0 技术将业务逻辑层的领域对象加入到表示层实现逻辑中,
一个典型的 / 模式呼之欲出。
/ 模式是 (" 在《企业应用架构模式》中最重要的表示层模式之一。
在 平台下,/ 模式的实现非常简单,以 3&4 页面为例。首先
在 &4 页面中,进行如下的设置:
5672/23'3&89392/3/89:92/( 89;-
/#92 893920890&392( 8
9;-3&4926<
&4 页面继承自 #/ 类。/ 类对象通过继承
# 类,从而拥有了 控件的特性,同时它还实现了 =&=
接口。作为 处理 = 请求的接口,提供了如下的定义:
>&=/#?301#@2
' 8&=/#' # A@2
&=/#?3$1#@2
' 8&=/#' # AB
&3 22=&=