問題タブ [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.
wpf - WPF とステート マシン パターン
ユーザーがフォームの「次へ」ボタンをクリックしたときに、タブアイテム(TabItem1、TabItem2、TabItem3)を切り替える可能性を提供する機能を実装したいと考えています。そのため、ステート マシン パターンを使用したいと思います。
これらのことはすでに実装していますが、手がかりがありません。正しいかどうか?:
uml - UML ステート マシン図を使用して画面ナビゲーションを表示できますか?
UML ステート マシン図を使用して画面ナビゲーションを表示できますか?
c# - C#でステートマシンを実装するための(パフォーマンスが重要な場合の)最良の方法は何ですか?
私は次のオプションを思いついた:
gotoステートメントの使用:
switchステートメントの使用:
gotoとswitchを一緒に使用する:
私はgotoステートメントを使用する最初のオプションを好みます。これは、より高速で冗長性が少ないためです。しかし、それが最良の選択肢かどうかはわかりません。パフォーマンスに関しては多分ですが、読みやすさに関してはわかりません。だから私はこの質問をします。どのオプションが好きですか、そしてその理由は何ですか?
c# - .NETワークフローエンジンの提案
Simple State Machine for Booに基づく階層型ステートマシンフレームワークであるステートレスに出くわしましたが、C#3.0を使用して構成されています
設定と使用は簡単です。おそらくすぐに使用します。
しかし、私はただ疑問に思っていました
- 誰もが実際のプロジェクトにステートレスを使用しました(もしそうなら、あなたの意見は何ですか?)
- .NET用の他の優れたワークフローエンジンはありますか?(WF以外)
ruby-on-rails - state_machine は新しいレコードに対してのみ機能します
state_machine
gem ( http://github.com/pluginaweek/state_machine/ ) を既存のレコードで動作させることができないようです(新しいレコードで正しく動作します)。
これが私のモデルです:
そして、これが問題を示すIRBセッションです(ActiveRecord::Base.logger = Logger.new(STDOUT)
読みやすくするために行いました):
つまり、保存されていないコメントの場合はすべて正常に機能しますpublish
が、既に保存されているコメントを公開しようとすると何も起こりません。
別の編集: おそらく問題の根源?
つまり、状態が実際に変化したにもかかわらず、state_changed?
が false を返しているため、Rails は を呼び出したときに対応するデータベース行を更新しませんsave
。
部分的な更新をオフにすると機能しますが、試してみると機能しませんstate_will_change!
:
編集:
さらに奇妙:
比較:
ruby-on-rails - AASM のすべての遷移に対してコールバックを登録しますか?
状態遷移ごとに呼び出したいメソッドが 2 つあります。今、私はやっています:
明らかに、これは最善のアプローチではありません。私はコードを複製しています。より基本的には、コールバックがステート マシン全体に実際に適用されるときに、コールバックを特定の遷移に関連付けています。これを処理するより良い方法は何ですか?
.net - Workflow Foundation StateFinalizationActivity はスレッドをブロックしていますか?
これはシナリオです:
ManualWorkflowSchedulerを使用したステート マシン ワークフローがあります。State1とState2の 2 つの状態があるとします。State1 には、ワークフローを State1 から State2 に移動するSetStateActivity1を持つEventDrivenActivity1が含まれています。State1 には StateFinalizationActivity1 もあります。
だから私の質問は:
イベントが発生し、SetStateActivity1 が実行され、ワークフローの状態が State2 に変更されると、StateFinalizationActivity1 は、状態変更を引き起こすイベントを発生させたメソッドと同じスレッドで (呼び出しの一部として) 実行されます (つまり、呼び出し元のメソッドはEventDrivenActivity1 と StateFinalizationActivity1 の両方のシーケンスが実行されるまで待機するか、または EventDrivenActivity1 が実行された後に戻り、StateFinalizationActivity1 が戻り後に実行されます)?