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 条评论
登录 后参与评论

相关文章

来自专栏yw的数据分析

安卓手机免root实现对其他软件最高管理(sandbox思想)

  root之后的安卓系统并不稳定,root后有时候会出现一些系统的错误,如果实在忍受不了的话,这时候只能恢复出厂设置了。因此不root是最优的选择,但是不ro...

523110
来自专栏游戏杂谈

使用hta操作nginx停止、重启

新上线的webgame需要做一个官网,做好了并上线了(切割、程序、后台,后台使用是java版本的jeecms),但仅仅是自己家的官网做好了,现在上面的想法是需要...

20110
来自专栏Android机动车

安卓优化之apk瘦身(27.7M-->17.5M)

apk瘦身作为优化的一部分,它的大小决定安装的时间与占用的内存,进行针对性的瘦身也能够提高用户体验,下面就看我怎样将一个27.7M的安装包减肥到17.5M,足足...

13040
来自专栏DeveWork

Sass 与Compass 在WordPress 主题开发中的运用

一直以来都抱着这样的态度去做WordPress主题开发:每一次都尽量用上新接触的知识去开发WordPress(比如说开发移动主题接触移动Web 开发),我相信这...

22770
来自专栏小白课代表

Origin Pro 2017 中文版安装教程

1.4K20
来自专栏DevOps时代的专栏

手把手教你利用Jenkins持续集成iOS项目

63630
来自专栏刘望舒

Android系统架构与系统源码目录

前言 技术博客终于可以恢复正常的更新速度了,原因是我编写的进阶书籍的初稿已经完成,窃以为它将会是Android应用书籍中最有深度的一本,可以说是《Android...

46480
来自专栏ThoughtWorks

无法登录的用户

自从ins项目上线以后,团队其他成员都纷纷下了项目,只留下他这个项目经理留在一线解决问题。登录这块总是出现问题,上次就出现过一次,不过上次是机房网络原因,而这次...

14110
来自专栏更流畅、简洁的软件开发方式

【自然框架】之通用权限(八):权限到字段(列表、表单、查询)

 通用权限想要写的文章目录:(这是第八章) 1、 简介、数据库的总体结构 2、 介绍人员表组 3、 介绍组织结构表组 4、 介绍角色表组 5、 介绍“项目自我描...

34270
来自专栏Jerry的SAP技术分享

使用ABAP Push Channel(APC)开发的乒乓球游戏,可双打

https://<host>:<port>/sap/bc/apc_test/ping_pong/game

374110

扫码关注云+社区

领取腾讯云代金券