gpt4 book ai didi

c# - 哪种 C# 设计模式适合在 ASP.NET 中编写自定义工作流程

转载 作者:行者123 更新时间:2023-12-03 20:20:53 31 4
gpt4 key购买 nike

试图找到一些关于内胎的例子。我正在考虑国家或战略模式,但如果有人有任何 war 故事、例子或资源可以向我指出,我将不胜感激。

我不/不能使用 Windows 工作流程。

我的例子是,我有一个复杂的向导,它根据用户正在做什么以及用户是谁来更改进程的状态。

例如:

  • 已取消
  • 用户请求
  • 经理请求
  • 已确认
  • 裁判
  • 已收到管理员
  • 管理员已确认
  • 管理员已取消

干杯约翰

最佳答案

State怎么样?模式(wikipedia link)?

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)

如您所见,该图案确实完全合适。

Chain of Responsibility如果存在安全问题,也可能相关。如果维基百科文章没有意义那么 this book两者都有很好的例子。另一个是向导的命令模式。它们都不完美,但它们为您提供了一些好的开始想法。

关于c# - 哪种 C# 设计模式适合在 ASP.NET 中编写自定义工作流程,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/594170/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com