我需要编写在c#中运行速度快的状态机.我喜欢Windows Workflow Foundation库,但它太慢而且过于拥挤(特别重).我需要更快的东西,理想情况下使用图形工具来设计图表,然后吐出c#代码.有什么建议?谢谢!
是的,微软可能已经超越了他们使用State Machine WF的时间.顺序工作流程的收益要好得多.
当我们决定使用状态机时,我们推出了自己的状态机.因为我们找不到一个可接受的UI框架.这是我们的步骤.希望他们能帮到你.
创建您的状态界面:
public interface IApplicationState
{
void ClickOnAddFindings();
void ClickOnViewReport();
//And so forth
}
Run Code Online (Sandbox Code Playgroud)创建状态并让它们实现接口:
public class AddFindingsState : IApplicationState
{
frmMain _mForm;
public AddFindingsState(frmMain mForm)
{
this._mForm = mForm;
}
public void ClickOnAddFindings()
{
}
public void ClickOnViewReport()
{
// Set the State
_mForm.SetState(_mForm.GetViewTheReportState());
}
}
Run Code Online (Sandbox Code Playgroud)实例化主类中的状态.
IApplicationState _addFindingsState;
IApplicationState _viewTheReportState;
_addFindingsState = new AddFindingsState(this);
_viewTheReportState = new ViewTheReportState(this);
Run Code Online (Sandbox Code Playgroud)当用户执行需要更改状态的操作时,请调用方法来设置状态:
_state.ClickOnAFinding();
Run Code Online (Sandbox Code Playgroud)当然,这些操作将存在于IApplicationState的特定实例中.
| 归档时间: |
|
| 查看次数: |
18634 次 |
| 最近记录: |