6,Composite UI Application Block (CAB) WorkItem介绍
首先看看WorkItem都包含哪些元素?
从WorkItem的属性列表中我们可以看出,WorkItem中支持命令和事件,同时WorkItem可以嵌套,通过Parent进行关联,通过RootWorkItem可以获取顶层WorkItem,开发人员可以利用这一特性来组织自己业务用例和划分业务用例的粒度。WorkItem中使用State来共享信息,在同一个WorkItem容器中的对象可以共享访问这个信息。 WorkItem容器中的对象对其中的Service都可以访问。
WorkItem通过调用Run方法进行启动,调用这个方法的时候会调用他的OnRunStarted方法,一般我们自定义了一个WorkItem,如果有需要可以重载其OnRunStarted方法来自定义其启动逻辑。Run方法调用后会触发RunStarted事件。
一般我们会借助WorkItem提供的特性,采用MVC的模式进行业务用例的封装。使用SmartPart作为用户交互的UI显示部分(View),创建一个控制类来进行业务逻辑的封装(Controller),然后将业务数据存放于内存实体中(Model)。用户界面和内存实体采用绑定的方式关联起来。
这就是典型的MVC模式的应用,我们来看看他的初始化和用户交互过程中的操作是如何进行的?
初始化:
1,应用系统加载WorkItem,WorkItem将用户界面在WorkSpace中进行显示
2,用户界面加载,调用控制逻辑进行初始数据的处理和获取
3,控制逻辑获取初始数据
4,控制逻辑将数据存放于内存实体中
5,控制逻辑将数据与用户界面进行绑定,界面会自动根据绑定的数据源进行初始化显示
用户交互:
1,用户操作用户界面,调用相应控制逻辑
2,控制逻辑进行业务处理,进行相关服务或数据库访问
3,控制逻辑修改内存实体中的数据
4,由于数据与界面绑定,数据的变化直接反应到界面显示。