智能客户端的介绍我就不再这里说明了,大家可以通过Google去发现。
智能客户端软件工厂提供给建筑师和开发商能够快速综合智能客户端地模式和做法。该软件工厂提供了一套行之有效的综合做法,通过接触模式,如何主题,快速入门,参照执行,在Visual Studio指导自动化工具包,和架构文件。该软件工厂项目就是智能客户端应用程序的基础上的复合用户界面应用程序块。通过使用软件工厂,建筑师和开发人员可以集中更多的精力在业务需求上面。
子系统模块
您可以使用智能客户端软件工厂,可以解决不同领域的智能客户端的应用程序架构。图1显示的这个版本的软件工厂主要应用领域。
智能客户端软件工厂的这些组件可以很好的帮助架构师和开发人员,可以解决建设智能客户端应用的各方面的挑战。智能客户端软件工厂提供的都是经过实际检验的组件,如自动代码生成。同时也可以定制和扩展为您的特定需求。
下面提供的功能/能力
能力 | 向导 | 自动生成 |
---|---|---|
模块性 | ||
创建基于一体化的综合的用户界面多个后端系统 | Composite UI Application Block Patterns How-to topics Branch Client reference implementation | Yes |
支持单独开发,测试和部署模块(部分) | Patterns How-to topics Branch Client reference implementation | Yes |
从一个中央位置获取应用程序配置(名单和顺序装载的模块) | Branch Client reference implementation | Not applicable |
可以在同一时间多个实例的商业实体一起工作,如客户,外包 | Bank Branch Client reference implementation | Not applicable |
用户体验 | ||
可视化显示从商业逻辑处理行为分离 | Patterns How-to topics Bank Branch Client reference implementation | Yes |
提供多种UI布局 | How-to topics Branch Client reference implementation | Yes |
支持导航窗体(所有注册的模块) | Branch Client reference implementation | Not applicable |
支持多任务窗体(模块可以更具逻辑动态添加条目) | Patterns Branch Client reference implementation | Not applicable |
松散的耦合组件和无缝的通讯 | Composite UI Application Block How-to topics Branch Client reference implementation | Yes |
部署和更新 | ||
ClickOnce 部署和更新 | Branch Client reference implementation | Not applicable |
支持分模块的版本升级,和不同版本的模块共存 | Patterns Branch Client reference implementation | Not applicable |
支持模块的独立部署模式 | Branch Client reference implementation | Not applicable |
升级ClickOnce,支持处理高负载的部署服务器和自定义的ClickOnce文件服务器 | How to topics Branch Client reference implementation | Not applicable |
Web 服务通讯 | ||
与Web服务通讯(异步与超时或同步) 可以是排队的邮件,脱机工作 | Offline Application Blocks Patterns How-to topics Disconnected Service Agent QuickStart | Yes |
本地存储 | ||
经常访问的数据进行缓存快速检索 | Branch Client reference implementation | Not applicable |
安全 | ||
根据用户的角色改变用户界面的行为(授权) | Enterprise Library Branch Client reference implementation | Not applicable |
易管理性 | ||
异常处理 | Enterprise Library Branch Client reference implementation | Yes |
日志处理 | Enterprise Library Branch Client reference implementation | Yes |
Yes 支持单独开发,测试和部署模块(部分)
Yes 从一个中央位置获取应用程序配置(名单和顺序装载的模块)
Not applicable 可以在同一时间多个实例的商业实体一起工作,如客户,外包
Not applicable 用户体验 可视化显示从商业逻辑处理行为分离
Yes 提供多种UI布局
Yes 支持导航窗体(所有注册的模块)
Not applicable 支持多任务窗体(模块可以更具逻辑动态添加条目)
Not applicable 松散的耦合组件和无缝的通讯
Yes 部署和更新 ClickOnce 部署和更新
Not applicable 支持分模块的版本升级,和不同版本的模块共存
Not applicable 支持模块的独立部署模式
Not applicable 升级ClickOnce,支持处理高负载的部署服务器和自定义的ClickOnce文件服务器
Not applicable Web 服务通讯 与Web服务通讯(异步与超时或同步) 可以是排队的邮件,脱机工作
Yes 本地存储 经常访问的数据进行缓存快速检索
Not applicable 安全 根据用户的角色改变用户界面的行为(授权)
Not applicable 易管理性 异常处理
Yes 日志处理
Yes
在这个实验室里,您将学习如何使用智能客户端软件工厂建立一个智能客户端解决方案,您可以从开始建立一个智能客户端应用程序。智能客户端解决方案包括建议的做法和技术,在智能客户端软件工厂包括基础的自动化程序和指导。
在完成此实验室,你将能够:
使用智能客户端工厂创建一个智能客户端应用程序解决方案
明白解决方案中的这些组件的用处
自定义UI布局
揭露用户界面元素的外壳到其他应用组件
智能客户端软件工厂的指导包中包含的解决方案模板命名为Smart Client Solution,您可以使用作为为您的智能客户端应用的起点。该解决方案是基础的自动化程序和指导的做法和技术都包含在软件工厂。
1 新建一个智能客户端项目
2 单击[OK]
3 输入根名字空间
4 取消选择Create a separate module to define the layout for the shell.以确定布局的Shell。如果您选择此选项,将创造只有一个DeckWorkspace Shell。它还将创建一个模块项目,该项目包含一个观点和演示,您可以使用来定义布局。在这项工作中,您不会使用一个单独的模块,以确定布局的壳。相反,您将在Shell Project中确定布局。
5取消Allow solution to host WPF SmartParts复选框。如果您选择此选项,将创建支持WPF workspaces,更新SmartClientApplication的签名,并新增提到需要类库。在这项工作中您将开发Windows窗体SmartParts ,因此你不需要支持WPF SmartParts 。
6选择Show documentation after recipe completes复选框。如果您选中此复选框后,方完成后,您会看到一个简易的菜单,并建议以后的步骤。
7 单击[Finish]
1 运行后你会看到一个标准的操作界面上面是主菜单,快速工具条中间为工作区,左边可以放类似的快速启动项,右边则数据显示区域,底部为一个状态栏;当然也可以自定义布局这些容器和空间;
2 关闭这个应用程序
3 下面是整个解决方案的基础莫块的[Infrastructure]结构 一共4块 Interface,Library,Module,Shell
Infrastructure.Interface: 这一项目只包含基础模块接口的内容,而这些模块需要和同一个应用中其他模块有交互的。它是由服务接口,契约,命令,业务实体(只有那些通过模块之间)以及其他共同因素,如一般用途的基础类库。
Infrastructure.Library:这个项目包含了一套智能客户端应用所需要执行和使用的共同组成部分。例如,它包括的服务来检索目录的配置文件从一个Web服务。
Infrastructure.Module:这个项目是一个综合的用户界面模块,共享在整个智能客户端的应用程序中,当你创建这个模块的时候会在相应的配置目录下注册,也就是说会在应用程序启动的时候加载这些模块并使用。比如一个服务
Shell. 该项目是根据一个典型的复合材料界面应用程序块的应用。它包含的启动形式和工作项的开始界面。
可以自定义主界面布局包括,MenuStrip,ToolStrip,DeckWorkSpace,StatusStrip
工作区(workspace)的组件,封装特别是视觉方式显示控制和SmartParts 。Composite UI Application Block包括下列类型的工作:
WindowWorkspace:
MdiWorkspace:
TabWorkspace:
DeckWorkspace:
ZoneWorkspace:
通过这些显示控件容器可以管理这些空间的现实,隐藏,激活,监视,并且是相互独立的