私はC#で高速に動作するステートマシンを書く必要があります。 私はWindows Workflow Foundationライブラリが気に入っていますが、機能があまりにも遅く、混雑しています(重いなど)。ダイアグラムを設計するグラフィカルなユーティリティを使って、もっと速く、理想的には何かが必要です。そして、C#コードを吐き出してください。 提案がありますか? ありがとう!C#で状態マシンを書き込む方法は?
答えて
最終的には、はるかに高速で、フローチャートアクティビティ(ほとんどのシナリオでは機能しませんが、ほとんどのシナリオで機能します)と素敵なデザイナUI体験を提供するように、新しくデザインされたWF engine in .NET 4.0が必要です。しかし、それはまだリリースされていないので、おそらく今は良い答えではありません。代替案として
は、.NETでステートマシンのプログラムを作成するために特別にstateless、ライブラリを試みることができます。 UIを提供するようには見えませんが、他の目標を達成するのに適しています。
マイクロソフトは、State Machine WFに先立っている可能性があります。シーケンシャルワークフローははるかに優れています。
ステートマシンを使用することを決定したとき、私たちは自分自身をロールバックしました。私たちはUIで受け入れ可能なフレームワークを見つけることができなかったからです。ここに私たちのステップがあります。彼らがあなたを助けることを願っています。
あなたの状態のインタフェースを作成します。
public interface IApplicationState { void ClickOnAddFindings(); void ClickOnViewReport(); //And so forth }
状態を作成し、それらがインタフェースを実装します:
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()); } }
はあなたのメイン クラスの状態をインスタンス化します。
IApplicationState _addFindingsState; IApplicationState _viewTheReportState; _addFindingsState = new AddFindingsState(this); _viewTheReportState = new ViewTheReportState(this);
、ユーザが状態の変化を必要とする何か、状態を設定するためのメソッドを呼び出すない場合:もちろん
_state.ClickOnAFinding();
、アクションがの特定のインスタンスに住んでいますIApplicationState。
興味深い実装。共有してくれてありがとう。 – Nestor
- 1. 視覚的にテンプレートの状態を書き込む方法は?
- 2. フォームの状態をxmlに書き込むC#
- 3. ミュート状態が不明のときにミュートロジックを書き込む方法
- 4. C#でファイルに書き込む方法
- 5. C++有限状態マシン
- 6. UWP C#イベントログに書き込む方法
- 7. Cで8ビットのデータをマクロで書き込む方法は?
- 8. CでLinux上のDVDにメモリデータを書き込む方法は?
- 9. Javaで「これらの数字は異なる」状態を書き込む方法は?
- 10. C + + Apacheモジュールでファイルに書き込む方法は?
- 11. Cで複数回ファイルに書き込む方法は?
- 12. Visual C++ 6でツールバーに書き込む方法は?
- 13. Objective-Cの有限状態マシン
- 14. 1つのマシン命令が書き込むアドレスを取得する方法は?
- 15. C++でバイナリモードでファイルにリストコンテナを書き込む方法
- 16. wcfでエンドポイント構成を書き込む方法プログラムでC#
- 17. c/C++でログファイルを書き込む
- 18. DataGridViewをプログラムで書き込む方法
- 19. C#ファイルのDependentUpon句をサブディレクトリに書き込む方法は?
- 20. C++文字列のブロックをファイルに書き込む方法は?
- 21. 状態マシンの例
- 22. GKEntityと状態マシン
- 23. コルーチンベースの状態マシン
- 24. C#でスマートカードにファイルを書き込む方法
- 25. 目的のCでテキストファイルにコンテンツを書き込む方法iphone
- 26. C#でSVG文字列をファイルに書き込む方法
- 27. C#で外部キーボードのドライバを書き込む方法
- 28. 対象cのNSArrayでキーパスクエリの値を書き込む方法
- 29. Cでプログラムでメモ帳に書き込む方法
- 30. バイナリファイルに書き込む方法は?
ありがとう! – Nestor
+1のステートレス。 Workflow Foundation(WF 4.0でも可)に比べると、ライブラリーはすばらしく、新鮮な空気が吹き込みます。 –