問題タブ [state-machine]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1272 参照

wpf - WPF とステート マシン パターン

ユーザーがフォームの「次へ」ボタンをクリックしたときに、タブアイテム(TabItem1、TabItem2、TabItem3)を切り替える可能性を提供する機能を実装したいと考えています。そのため、ステート マシン パターンを使用したいと思います。

これらのことはすでに実装していますが、手がかりがありません。正しいかどうか?:

0 投票する
3 に答える
1058 参照

uml - UML ステート マシン図を使用して画面ナビゲーションを表示できますか?

UML ステート マシン図を使用して画面ナビゲーションを表示できますか?

0 投票する
5 に答える
1787 参照

c# - C#でステートマシンを実装するための(パフォーマンスが重要な場合の)最良の方法は何ですか?

私は次のオプションを思いついた:

gotoステートメントの使用:

switchステートメントの使用:

gotoとswitchを一緒に使用する:

私はgotoステートメントを使用する最初のオプションを好みます。これは、より高速で冗長性が少ないためです。しかし、それが最良の選択肢かどうかはわかりません。パフォーマンスに関しては多分ですが、読みやすさに関してはわかりません。だから私はこの質問をします。どのオプションが好きですか、そしてその理由は何ですか?

0 投票する
5 に答える
12686 参照

c# - .NETワークフローエンジンの提案

Simple State Machine for Booに基づく階層型ステートマシンフレームワークであるステートレスに出くわしましたが、C#3.0を使用して構成されています

設定と使用は簡単です。おそらくすぐに使用します。

しかし、私はただ疑問に思っていました

  • 誰もが実際のプロジェクトにステートレスを使用しました(もしそうなら、あなたの意見は何ですか?)
  • .NET用の他の優れたワークフローエンジンはありますか?(WF以外)
0 投票する
27 に答える
95060 参照

c++ - C ステートマシンの設計

C と C++ が混在する小さなプロジェクトを作成しています。私は、ワーカー スレッドの 1 つの中心に、小さなステート マシンを 1 つ構築しています。

SO の専門家が、ステート マシンの設計テクニックを共有してくれるかどうか疑問に思っていました。

注:私は主に、試行およびテストされた実装手法の後です。

更新: SO で収集されたすべての優れた入力に基づいて、次のアーキテクチャに落ち着きました。

イベント ポンプは、ディスパッチャを指すイベント インテグレータを指します。 ディスパッチャは、イベント インテグレータを指す 1 ~ n 個のアクションを指します。 ワイルドカードを含む遷移テーブルは、ディスパッチャーを指します。

0 投票する
7 に答える
2795 参照

ruby-on-rails - state_machine は新しいレコードに対してのみ機能します

state_machinegem ( http://github.com/pluginaweek/state_machine/ ) を既存のレコードで動作させることができないようです(新しいレコードで正しく動作します)。

これが私のモデルです:

そして、これが問題を示すIRBセッションです(ActiveRecord::Base.logger = Logger.new(STDOUT)読みやすくするために行いました):

つまり、保存されていないコメントの場合はすべて正常に機能しますpublishが、既に保存されているコメントを公開しようとすると何も起こりません。

別の編集: おそらく問題の根源?

つまり、状態が実際に変化したにもかかわらず、state_changed?が false を返しているため、Rails は を呼び出したときに対応するデータベース行を更新しませんsave

部分的な更新をオフにすると機能しますが、試してみると機能しませんstate_will_change!:

編集:

さらに奇妙:

比較:

0 投票する
2 に答える
2751 参照

ruby-on-rails - AASM のすべての遷移に対してコールバックを登録しますか?

状態遷移ごとに呼び出したいメソッドが 2 つあります。今、私はやっています:

明らかに、これは最善のアプローチではありません。私はコードを複製しています。より基本的には、コールバックがステート マシン全体に実際に適用されるときに、コールバックを特定の遷移に関連付けています。これを処理するより良い方法は何ですか?

0 投票する
2 に答える
66 参照

.net - Workflow Foundation StateFinalizationActivity はスレッドをブロックしていますか?

これはシナリオです:

ManualWorkflowSchedulerを使用したステート マシン ワークフローがあります。State1State2の 2 つの状態があるとします。State1 には、ワークフローを State1 から State2 に移動するSetStateActivity1を持つEventDrivenActivity1が含まれています。State1 には StateFinalizationActivity1 もあります。

だから私の質問は:

イベントが発生し、SetStateActivity1 が実行され、ワー​​クフローの状態が State2 に変更されると、StateFinalizationActivity1 は、状態変更を引き起こすイベントを発生させたメソッドと同じスレッドで (呼び出しの一部として) 実行されます (つまり、呼び出し元のメソッドはEventDrivenActivity1 と StateFinalizationActivity1 の両方のシーケンスが実行されるまで待機するか、または EventDrivenActivity1 が実行された後に戻り、StateFinalizationActivity1 が戻り後に実行されます)?