一个简单的工作流设计笔记
因项目需要一个类似于工作流的框架,而WWF好像是为2005的,而且时间较急,研究WWF没时间,况且此框架并不需要很复杂,所以上网看了一些资料就决定自己干.
大体的框架如下:



一个CWorkFlow对应多个CWorkStep, 一个CWorkStep对应一个CAction
将业务逻辑封装到CAction里,在数据库配置CWorkStep,然后用反射得到CAction,就可以执行CAction
里的逻辑了.
CWorkFlow就几个方法,实现了就差不多了.
/// <summary>
/// IWorkFlow 的摘要说明。
/// </summary>
public interface IWorkFlow
{
/// <summary>
/// 从数据库装载工作流
/// </summary>
void LoadWorkSteps();
/// <summary>
/// 为执行工作流作准备
/// </summary>
bool BeginExecute();
/// <summary>
/// 执行下一步骤
/// </summary>
void NextWorkStep();
/// <summary>
/// 执行工作流
/// </summary>
/// <returns></returns>
void Execute();
/// <summary>
/// 工作流完成后的处理
/// </summary>
void EndExecute();
/// <summary>
/// 当工作流因某种原因暂停的时候能够继续下去
/// </summary>
void Continue();
/// <summary>
/// 将当前工作流作的一切还原,并重新开始
/// </summary>
void Restart();
/// <summary>
/// 将当前工作流作的一切还原
/// </summary>
void Revert();
/// <summary>
/// 暂停当前步骤
/// </summary>
void Pause();
}
执行时大概就是这样
胡乱的搞了几下,居然还似模似样的
,用起来还可以,哈哈
写篇随笔留作纪念,以后研究研究WWF.
浙公网安备 33010602011771号