![](https://csdnimg.cn/release/download_crawler_static/87407971/bg7.jpg)
的标签和数目,用户指定一个模板,平台根据这些信息自动创建页面。针对静态的模板内容,
如页面上的站点导航,菜单,友好链接,这些使用缺省的模板内容配置;针对动态的模板内
容(主要是业务内容),由于用户的请求不同,只能使用后期绑定,并且针对用户的不同,用
户部件的显示内容进行过滤。使用由用户部件根据模板配置组成的组合页面,它增强了可重
用性,并原型化了站点的布局。
视图部分大致处理流程如下:首先,页面模板定义了页面的布局;页面配置文件定义视
图标签的具体内容(用户部件);然后,由页面布局策略类初始化并加载页面;每个用户部
件根据它自己的配置进行初始化,加载校验器并设置参数,以及事件的委托等;用户提交后,
通过了表示层的校验,用户部件把数据自动提交给业务实体即模型。
这一部分主要定义了 WEB 页面基类 PageBase;页面布局策略类 PageLayout,完成页面
布局,用于加载用户部件到页面;用户部件基类 UserControlBase 即用户部件框架,用于动
态加载检验部件,以及实现用户部件的个性化。为了实现 WEB 应用的灵活性,视图部分也用
到了许多配置文件例如:置文件有模板配置、页面配置、路径配置、验证配置等。
控制器:为了能够控制和协调每个用户跨越多个请求的处理,控制机制应该以集中的方
式进行管理。因此,为了达到集中管理的目的引入了控制器。应用程序的控制器集中从客户
端接收请求(典型情况下是一个运行浏览器的用户),决定执行什么商业逻辑功能,然后将
产生下一步用户界面的责任委派给一个适当的视图组件。
用控制器提供一个控制和处理请求的集中入口点,它负责接收、截取并处理用户请求;
并将请求委托给分发者类,根据当前状态和业务操作的结果决定向客户呈现的视图。在这一
部 分 主 要 定 义 了 HttpReqDispatcher( 分 发 者 类 ) 、 HttpCapture( 请 求 捕 获 者 类 ) 、
Controller(控制器类)等,它们相互配合来完成控制器的功能。请求捕获者类捕获 HTTP 请
求并转发给控制器类。控制器类是系统中处理所有请求的最初入口点。控制器完成一些必要
的处理后把请求委托给分发者类;分发者类分发者负责视图的管理和导航,它管理将选择哪
个视图提供给用户,并提供给分发资源控制。在这一部分分别采用了分发者、策略、工厂方
法、适配器等设计模式。
MVC 系统中的模型从概念上可以分为两类――系统的内部状态和改变系统状态的动作。
模型是你所有的商业逻辑代码片段所在。本文为模型提供了业务实体对象和业务处理对象:
所有的业务处理对象都是从 ProcessBase 类派生的子类。业务处理对象封装了具体的处理逻
辑,调用业务逻辑模型,并且把响应提交到合适的视图组件以产生响应。业务实体对象可以
通过定义属性描述客户端表单数据。
所有业务实体对象都 EntityBase 派生子类对象,业务处理对象可以直接对它进行读写,
而不再需要和 request、response 对象进行数据交互。通过业务实体对象实现了对视图和模
型之间交互的支持。实现时把"做什么"(业务处理)和"如何做"(业务实体)分离。这样可
以实现业务逻辑的重用。由于各个应用的具体业务是不同的,这里不再列举其具体代码实例。