专栏首页c#开发者Smart Client Software Factory 初试

Smart Client Software Factory 初试

Smart Client Software Factory 初试

介绍

    智能客户端的介绍我就不再这里说明了,大家可以通过Google去发现。

智能客户端软件工厂提供给建筑师和开发商能够快速综合智能客户端地模式和做法。该软件工厂提供了一套行之有效的综合做法,通过接触模式,如何主题,快速入门,参照执行,在Visual Studio指导自动化工具包,和架构文件。该软件工厂项目就是智能客户端应用程序的基础上的复合用户界面应用程序块。通过使用软件工厂,建筑师和开发人员可以集中更多的精力在业务需求上面。

系统环境

  • Microsoft Visual Studio 2008
  • Microsoft .NET Framework 3.5
  • Guidance Automation Extensions (February 2008 or later).
  • SQL Server 2005 Compact Edition
  • Enterprise Library 3.1. Download this component if you want to make full use of Enterprise Library.
  • Guidance Automation Toolkit for Visual Studio 2008 (February 2008 or later).

主要部件

子系统模块

能做什么

您可以使用智能客户端软件工厂,可以解决不同领域的智能客户端的应用程序架构。图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

  • 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

Demo

创建一个初级的智能客户端解决方案

目的

在这个实验室里,您将学习如何使用智能客户端软件工厂建立一个智能客户端解决方案,您可以从开始建立一个智能客户端应用程序。智能客户端解决方案包括建议的做法和技术,在智能客户端软件工厂包括基础的自动化程序和指导。

在完成此实验室,你将能够:

使用智能客户端工厂创建一个智能客户端应用程序解决方案

明白解决方案中的这些组件的用处

自定义UI布局

揭露用户界面元素的外壳到其他应用组件

使用guidance package创建解决方案

智能客户端软件工厂的指导包中包含的解决方案模板命名为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:

通过这些显示控件容器可以管理这些空间的现实,隐藏,激活,监视,并且是相互独立的

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • MSMQ消息大于4MB限制的解决办法

    MSMQ 消息发送大于 4 导致 System.Messaging.MessageQueueException Mb。 察看本文应用于的产品 社区解决方案免责...

    阿新
  • Infinite Scrolling in UIScrollView

    - (void)viewDidLoad {     [super viewDidLoad];          [theScrollView setConten...

    阿新
  • 自定义ios keyboard tool bar代码片段

    -(UIToolbar *)createActionBar { UIToolbar *actionBar = [[UIToolbar alloc] in...

    阿新
  • 最小窗口子串

    已知字符串S与字符串T,求在S中的最小窗口(区间),使得这个区间中包含 了字符串T中的所有字符。 例如: S = “ADOBECODEBANC” ;T = "...

    小飞侠xp
  • Python爬取2万条相亲数据!看看中国单身男女都在挑什么

    想必昨天的七夕节,一定是有人欢喜有人忧的一天,朋友圈里的晒照惹恼了我的一个程序员朋友,在昨晚怒爬2万条相亲网站数据,做了一次相亲男女画像!

    大数据分析不是事儿
  • 数据分析的数据工程: 问题的分类和案例研究(CS DB)

    考虑数据分析师希望对给定的数据集进行分析的情况。 人们普遍认为,分析师的大部分时间将用于完成诸如获取、理解、清理和准备数据等数据工程任务。 本文将这些任务分为数...

    用户7095611
  • 数据分析的通用范式-Common Patterns for Analyzing Data

    这是一篇数据科学领域的翻译文章,名称 Common Patterns for Analyzing Data 数据分析的通用模式。

    needrunning
  • 牛津大学王宁博士:大数据与有限理性

    image.png 大数据似乎在一夜之间迅速走红,它势不可挡地冲击着金融、零售等各个行业。云计算将如何改变计算的世界?未来将有怎样的应用前景?如何解决“信...

    腾讯研究院
  • 职场 | 备好数据后,数据科学家还要做什么?

    大数据文摘
  • 大数据在企业中发挥的作用,以及如何驱动企业创新!

    在大数据时代,企业将是完全以数据分析驱动企业,利用大数据分析,能够转化成洞察的能力,充分释放企业潜能,实现转型与进化,本文重在分析大数据在企业当中的所起到的作用...

    探码科技

扫码关注云+社区

领取腾讯云代金券