sol*_*dev 2 c# asp.net workflow design-patterns
试图在intertubes上找到一些例子.我正在考虑国家或战略模式,但如果有人有任何战争故事,他们可以指向我的例子或资源,将不胜感激.
我不/不能使用Windows工作流程.
我的例子是我有一个复杂的向导,它根据用户正在做什么以及用户是谁来改变进程的状态.
例如:
干杯约翰
public abstract class State
{
/// <summary>
/// Holds the current state we're in.
/// </summary>
public State CurrentState
{
get;
set;
}
public virtual string Cancelled(State context)
{
return "";
}
public virtual string RequestedByUser(State context)
{
return "";
}
public virtual string RequestedByManager(State context)
{
return "";
}
}
public class CancelledState : State
{
public override string Cancelled(State context)
{
context.CurrentState = new SittingState();
return "Cancelled.";
}
public override string RequestedByUser(State context)
{
context.CurrentState = new RequestedByUserState();
return "Requested by User.";
}
public override string RequestedByManager(State context)
{
return "You can't do this before it's been requested by the User";
}
}
// (RequestedByUserState and RequestedByManagerState classes have been cut out)
Run Code Online (Sandbox Code Playgroud)
如您所见,该模式确实非常合适.
如果存在安全问题,责任链也可能是相关的.如果维基百科的文章毫无意义,那么这本书就有了很好的例子.另一个是向导的命令模式.它们都不完美,但它们会给你一些好的想法.