您的位置:首页 > 运维架构 > Shell

SmartClient Software factory中的Composite UI Application Block(Cab)技术了解(一):Shell&Layout

2008-05-04 22:28 513 查看

本来以为SmartClient Software factory(以下简称SCSF)已经发布了不短的时间了,在网上应该有不少它的资料,结构找了几天还是失望了,网上的资料很少,而且多数好点的资料只有E文的。那也没所谓了,关键是连E文的资料也是说的比较简单,即使是MSDN也说的不是很好,最后还是只能自己来研究,用了半个月左右的时间,终于对SCSF有一点了解了,这里把一些例子写下来,让自己有个参考,也让其他人可以提出点意见给我,由于水平有限,错误是难免的,希望各位牛人提出意见了,下面是准备了解的技术点,主要是针对准备开发的项目所去做的了解,其他更多的技术点暂时不研究了,这里是后边几篇文章的例子,喜欢可以下载看看(SCSF实例):

名称
解决问题
1
Shell/Shell Application
主要解决视图表现方式的统一风格问题
2
WorkItem/SmartPart
主要解决业务逻辑的模块化和插件化问题,以及符合MVC/MVP模式开发的要求
3
UIElement/ UIElement adapter
依然为了解决界面表现风格一致和UI扩展问题
4
Command
主要解决在开发中对于对象事件委托的广播问题,能让一个事件在IOC容器中实现给多个对象共享的问题
5
Event Broker
主要解决事件的发布和订阅功能
6
SmartPartInfo
视图的描述信息和SmartPart对应,Smartpart可根据不同的场景使用不同的Smartpartinfo,并且可以定义Smartpart的显示属性
7
Service
这是CAB的基础功能,包括一些基础的服务还有可以进行服务的扩展等,主要解决项目中的队列问题,离线处理问题,异步调用问题,调度问题,权限问题等等,所有这些问题都可以通过自定义来扩展或如果CAB或SCSF本身提供的话则直接使用都可
8
State
相当于SESSION的功能,让一些公用信息能在模块或类之间进行传递,实现项目的状态管理和多入口代码执行需求
这里要说明的是,SCSF的核心其实就是Composite UI Application Block(Cab),这些技术点就是经过SCSF封装过的CAB的技术,这次先写这8个技术点,后边还会有一些其他的技术点(包括自定义WorkSpace等)在后续补上。好了,废话少说,先说说第一个技术点吧:

SHELL描述和实例

Shell和Shell Application是一个外壳宿主程序,所有的模块的调用和组合都是从这里提供的接口开始的,在这里我们可以定义好整个系统的视图风格或根据不同的需求进行风格上的切换。如图三所示,Shell已经把整个框架和结构都定义好了,而其他的模块只要看具体位置放进去即可。下面我们通过一个实例来了解SHELL的建立方法。



图三 Shell的结构关系图

1. 利用SCSF建立一个解决方案:



图2.2.1



图2.2.2

命名为SCSample,按确定。
SCSF会自动创建SOURCE部分的项目,同时定义了其中的SHELL,其中ShellForm为表现视图,ShellApplication则为控制类,它继承了已经过SCSF包装后的抽象类SmartClientApplication 。 App.config和ProfileCatalog.xml为两个配置文件,其中我们只要关注后者即可。完成以后我们直接运行就可以看图2.2.3:



图2.2.3

当我们需要使用一个自定义视图时,则可以通过创建Layout模块来实现,创建Layout模块:



图2.2.4



图2.2.5



图2.2.6
Shell和Layout这两部分基本不用进行代码编写。但需要在配置文件中进行设置,定义“Layout”部分,其他只需要对视图进行编辑,让后边所有的模块都以这种框架方式显示即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐