现在的位置: 首页 > 综合 > 正文

Smart Client Software Factory 模块说明(下)

2013年10月05日 ⁄ 综合 ⁄ 共 1700字 ⁄ 字号 评论关闭

Infrastructure.Module

这个项目在你的智能客户端程序中作为一个跨多个工程的,复合UI应用程序块模块的元素实现的容器。当你创建这个模块时,模块就被加入到配置文件目录中。那么意思就是说,当程序启动的时候,复合UI程序块会去加载 Infrastructure.Module 这个模块。
当项目首次创建的时候,项目是空白的,你需要包含并修改在多个模块中使用元素的实现,比如说,一些服务。
public override void AddServices()
{
  base.AddServices();
  _rootWorkItem.Services.AddNew<GenericPrincipalImpersonationService, IImpersonationService>();
  //...
}

Infrastructure.Library

这个项目包含了一套智能客户端应用程序的常见元素的实现。

SmartClientApplication Base Class

这个类是从FormShellApplication继承的。它完成程序启动时所有被要求的初始化任务。这些任务包括初步化默认的根WorkItem,增加一套标准的服务,并加载在配置目录中的所有服务和模块。

SmartClientApplication 还会添加额外的服务到根WorkItem中,此服务将在智能客户端的不同模块中被调用。举例来说他会加载  action catalog service (IActionCatalogService)  和 entity translator service (IEntityTranslatorService).

Builder Strategies(生成器策略)

 Infrastructure.Library包含一个对象生成器策略,名为ActionStrategy,这一策略用来检查对象方法是否有Action属性,并把这些方法注册到活动目录中。

Services and User Interface Elements(服务和用户接口元素)

Action catalog service. (活动目录服务) 你可以使用一个活动目录来决定一个业务动作是否执行。 

Module loading and enumeration services 系统的加载和枚举服务)这些服务扩展复合UI界面程序块内置服务来提供额外的功能,如加载模块,根据用户的角色和从Web服务检索配置文件目录
Entity translator service. 这个服务允许你把一个实体类型转换成另一个类型,反之亦然.
Workspace locator service.  这个服务特定WorkItem中的SmartParts,并返回它所属的Workspace的引用。
WindowsWorkspace. 这是复合UI界面程序块内置WindowsWorkspace的包装器,它允许你设置的模态窗口控件的属性值。

Shell

该项目是应用程序的外壳。它提供了全面的用户界面结构和包含根WorkItem。智能客户端应用程序的基础是ShellApplication类,其中包含加载和运行应用程序的入口代码。这个类继承自SmartClientApplication类,这使得它可以更容易的创建一个有启动窗体的应用程序。


Startup Form

ShellForm是程序的启动窗体。它包含两个Workspace,LeftWorkspace和RightWorkspace。如果你为Shell定义的布局在一个单独的模块,该ShellForm就会仅包含一个DeckWorkspace

Ff699272.b8670157-a6bd-47f1-9fbc-977938026ac2(en-us,PandP.10).png
Shell定义的布局在一个单独的模块时,如下图,只有一个DeckWorkspace
Ff699272.14207f9b-4b32-4047-83ea-7ae027e26cec(en-us,PandP.10).png

Module Catalog File

shell还包括一个模块的目录文件ProfileCatalog.xml. 复合UI界面程序块提供了服务来在程序启动时加载这些模块。


Infrastructure.Layout

Infrastructure.Layout工程,些模块为Shell中定义的布局提供视图,这个工程只创建一些基础模块,并可以选择为一个布局创建一个单独的模块。


抱歉!评论已关闭.