在网上找了很久,希望能找到相关的文章,然后自己可以不用打那么多字,现在没办法了。但是还是坚持一个原则,能引用别人的就不自己写。
CAB简单了说就是一套程序集,或者说是一套代码框架。使用了很多设计模式以优化软件开发,主要是实现winForm桌面程序开发的。
CAB 的优点:
1:允许构建由各个具有协作关系的独立模块组合成的复杂应用。
2:分离关注点,能将各个模块的开发的关注点和Shell的开发分离开来。
3:提供了一个能支持高质量的桌面应用开发的框架
4:提高了生产力和节约了开发时间,进一步巩固了架构师和开发人员的劳动成果。
CAB 的功能:
1.动态加载独立模块
2.模块之间或模块内部的事件机制(event broker)
3.command pattern(映射UI的各类活动)
4.基于MVC开发模式
5.提供了一整套的服务authentication services, authorization services, module location, and module loading services ,当然也允许自定义服务
一些重要的概念
workItem可以这样说,一个用例就映射一个workitem,主要用于处理业务逻辑,可调用 controller,presenter,view控制界面呈现
,service,服务;module模块,软件模块划分时用到;priflecatalog软件配置;moduleLoader模块加载器;moduleinit构造模块的类;
shellapplication,相当于winform的Application类,为启动主窗口,实现加载各个模块module
shell,主程序入口command映射页面各个控件活动,workspace想到于view的加载区域,
uiextensionSite界面静态加载的控件
eventSubcription/eventPublication 事件发布和订阅,可以使用代码编辑器生成
view 一个用户控件
smartPart 同view,但具有SmartPart特性,支持对接口ISmartPartInfoProvider的实现
controller对应于MVC的controller,逻辑对象,控制View中呈现的各种业务实体Model
objectBuilder CAB的基础,提供依赖框架,构建框架和组件工厂等
Dependency Injection 依赖注入,支持创建对象时同时创建该对象依赖的对象
接下来描述的内容包括:
如何使用Smart Client Software Factory 创建CAB程序,CAB程序代码结构,界面设计和组织方式,UIExtensionSite与SmartPart
创建和注册服务
新建业务模块:创建workItem和子workItem,管理state,添加SmartPart到workItem
event Broker机制
依赖注入
action,command,configure,application