您的位置:首页 > 其它

Smart Client Software Factory 模块说明(下)

2015-04-17 11:02 260 查看
Infrastructure.Module

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

C#

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



Shell定义的布局在一个单独的模块时,如下图,只有一个DeckWorkspace




Module Catalog File

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


Infrastructure.Layout

Infrastructure.Layout工程,些模块为Shell中定义的布局提供视图,这个工程只创建一些基础模块,并可以选择为一个布局创建一个单独的模块。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: