質問:
「多くの独立したアプリケーションが、共通の情報を含む親 (マスター、ホスト) アプリケーションによって制御されるアーキテクチャ設計パターンはありますか?」
バックグラウンド:
次のアーキテクチャで医療アプリケーションを設計しています。
- 患者データが単一のデータベースに集中化されるホスト アプリケーションがあります。
- 特定の患者のさまざまな種類の診断検査を担当するアプリケーションが多数 (2 つから 8 つ、多かれ少なかれ) あります。
- 通常、ワークフローには次のものが含まれます。
- マスター アプリケーションを開きます。
- 患者の記録に移動します。
- 一部のサブアプリケーションでその患者の新しいタスクを開きます。
- ここからは、このサブアプリケーションの「内部」で排他的に作業し、ユーザーが終了するまで (親アプリケーションに戻るまで) 「制御を取得」しますが、マスター アプリケーションの状態はコンテキストで利用できます。
- 子アプリケーションがこれらの共通タスクに関してポリモーフィックになるように、共通タスクには単一の親子インターフェースが必要です。次に、親は、各子アプリケーションのカプセル化された詳細を認識しません。
- 最小限の専用フロントエンドを使用して、各サブアプリケーションをスタンドアロンとして展開できることが望ましいでしょう。
考慮事項/候補:
- メディエーター パターンは、「サブシステム内の一連のインターフェイスに統一されたインターフェイスを提供します」が、同僚間の通信を仲介することをより重視しているように見えますが、私のユースケースでは、子供が認識していない親アプリケーションと子アプリケーションの間を仲介する必要があります。お互いの;
- テンプレートメソッドパターンは、「テンプレートメソッドと呼ばれるメソッドでアルゴリズムのプログラムスケルトンを定義し、いくつかのステップをサブクラスに任せます」。これは、たとえばデータの取得、処理、表示、解釈、および報告によって構成される「共通の臨床診断ワークフロー」の策定を誘発する可能性があります。
読んでくれてありがとう、どんな洞察も大歓迎です!