AI翻訳通知
このドキュメントはAIによって翻訳されました。正確な情報については英語版をご参照ください。
コンテキスト体系の概要
NocoBase ワークフローエンジンのコンテキスト体系は3つのレイヤーに分かれており、それぞれ異なるスコープに対応しています。これらを適切に使用することで、サービス、設定、データの柔軟な共有と分離を実現し、ビジネスの保守性と拡張性を向上させることができます。
- FlowEngineContext(グローバルコンテキスト):グローバルで一意であり、すべてのモデルやワークフローからアクセス可能です。グローバルなサービスや設定の登録などに適しています。
- FlowModelContext(モデルコンテキスト):モデルツリー内部でコンテキストを共有するために使用されます。子モデルは親モデルのコンテキストを自動的にプロキシ(delegate)し、同名の上書きをサポートします。モデルレベルのロジックとデータの分離に適しています。
- FlowRuntimeContext(ワークフロー実行時コンテキスト):ワークフローが実行されるたびに作成され、ワークフローの実行サイクル全体を通して存続します。ワークフロー内でのデータ受け渡し、変数保存、実行状態の記録などに適しています。
mode: 'runtime' | 'settings'の2つのモードをサポートしており、それぞれ実 行状態と設定状態に対応しています。
すべての FlowEngineContext(グローバルコンテキスト)、FlowModelContext(モデルコンテキスト)、FlowRuntimeContext(ワークフロー実行時コンテキスト)などは、FlowContext のサブクラスまたはインスタンスです。
🗂️ 階層構造図
FlowModelContextはプロキシ(delegate)メカニズムを通じてFlowEngineContextのプロパティやメソッドにアクセスでき、グローバルな機能の共有を実現します。

