完成本实验之后,您能够:
· 了解Composite UI Application Block。
· 使用Composite UI Application Block 的Module Loading特性。
· 了解推荐的项目布局和代码结构。
场景
您将要集中了解Composite UI Application Block的目的与特性,以及在开发应用程序时如何使用这个应用程序构造块。
练习1: Composite UI Application Block的概念与特性
在本练习中,您将了解到Composite UI Application Block的组成部分,及其相关的概念。接下来的练习重点则是使用Microsoft Visual Studio 2005开发系统和.NET Compact Framework 2.0版来实现这些概念。
介绍
Composite UI Application Block被设计用于构造基于Windows窗体的复杂应用程序。为此,它提供了一套体系结构和实现方案,这个方案使用了在前端, Line–Of-Business(LOB)应用程序中创建的通用模式。使用Composite UI Application Block构建应用程序有以下好处:
· 对体系结构团队来说,能够改善质量和一致性;
· 对于大型开发团队来说,能够提高生产率,缩短产品开发周期;
· 对于操作人员,能够巩固操作结果。
这个应用程序构造块被设计来开发用于移动设备的商务线应用程序的智能客户端。
设计概述。
通过使用独立而相互协作的模块来支持应用程序开发,是Composite UI Application Block的主要设计目标之一。Composite UI Application Block应用程序可以包含以下组件:
· SmartParts
SmartParts给出了应用程序中的可视元素。这些可视元素与控制它们的应用程序完全独立,可以完全独立的开发。
· Workspace
Workspace是SmartPart的容器与管理器。它可以控制SmartPart如何显示或者隐藏,以及如何布局。可以创建并使用以下类型的Workspaces:
¡ TabWorkspace:让您在选项页中显示或隐藏控件和SmartParts;
¡ DeckWorkspace:让您在不可见的框架中以层迭的方式显示或隐藏控件和SmartParts。其IWorkspace方法使用类似卡片组的方式实现SmartParts的显示、隐藏和关闭。显示SmartPart使得它在以前显示的SmartPart上面出现。隐藏SmartPart使除它之外最上面的一个SmartPart显示。关闭SmartPart将它删除,并显示除它之外最上面的一个SmartPart。
· WorkItems
WorkItem是运行时组件的容器,与组件相互协作以完成一个用例。它包括以下代码和类:
¡ 初始化用例的启动(或者初始化)代码;
¡ 用例中协作的组件共享的状态;
¡ 根据状态和其他资源产生行为的Controller类;
¡ 与相应Controller和引用的状态进行交互的View类;
¡ 释放资源的代码。
· Infrastructure Services(基础架构服务)
Composite UI Application Block包含一套底层的基础架构服务,可以在应用程序中使用。您也可以根据您的应用程序构建自己的服务来提供基础架构的能力。应用程序构造块提供以下基础架构服务:
¡ Catalog Reader;
¡ Module Loader;
¡ Event Broker;
¡ Commands。
· Modules
该模块由一系列服务、WorkItems、SmartParts、控件、商务实体和Module Initialization类组成,其中Module Initialization类用于初始化和运行该模块的WorkItems。
· Module Services
该模块服务是对象,使用Service属性注册一次之后,就可以从任一WorkItem的其他组件中引用它。
· State
WorkItem包含状态,它是一个松散类型的对象集合,这些对象由该用例中协作的组件共享。状态可以通过调用WorkItem的Load和Save方法进行维持。可以使用实现IStatePersistenceService的基础架构服务在任一存储介质上维持状态。
· Controllers/Presenters
在MVC和MVP模式中,控制器和表示器分别具有同样的角色。
· Service Agents
服务代理是用于与外部后端服务进行交互的组件。
当您开发的应用程序要使用外部服务时&#x