以下で説明するビジネス要件に対応するためにここで使用できる最適な設計パターンは何ですか?
Car、Boat、およびPlaneなどのさまざまな車両に最小限の変更で簡単に使用できる単一のダッシュボードを作成するというビジネス要件があるとします。基礎となるシステム (たとえば、速度、バッテリー、深度、高度、熱、および方向転換、加速、開始、停止、ブレーキなどの機能に関する情報を収集するため)。ダッシュボードには、基礎となるハードウェアと再び通信する何かと通信するゲージなどが付属する必要があります
明らかな解決策は、問題をコンポーネントに分解することです (以下を参照)。これにより、車両を切り替えるときに最小限の変更しか必要ありません。次のソリューションでは、CentralController の具体的な実装のみが車両ごとに異なる必要がありますが、車内で通信するコンポーネントが何百もあり、それらすべてのタイプをアプリケーション関連のタイプにマッピングするとどうなるでしょうか。 HeatGauge には、内部、外部、およびエンジンからの情報が含まれている可能性があります。したがって、車両のさまざまなコンポーネントについて話しているため、車両ごとに異なる可能性があります。ここでデータ マッピングに対処するためのベスト プラクティスは何ですか?
- ゲージ付きパネル
- セントラルコントローラー{取得/設定}。CentralControllerImpl
- 車両およびその部品
つまり、要約すると次のようになります。
複数の複雑な API の上に単純化された API を作成するための設計パターンは何ですか?
質問が漠然としていると思う人もいるので、ここに本当の問題を投稿します
私は、何百もの種類のセンサーとコントロールを制御する非常に複雑なハードウェアの平和と対話するアプリに取り組んできました。私が取り組んでいるアプリは、その部分を担当する人間の役割に関連するいくつかの機能のみを公開しています。
ハードウェアは、操作する情報の非常に複雑で大規模なデータベースであることがわかります。私が取り組んでいるアプリは、ほんの少しの情報しか公開していません。ドメイン オブジェクトの場合、実際にマッピングを行うコンポーネントは、将来のアプリケーションで活用できるように汎用化されています。
皆さんから知りたいのは、作業が簡単で必要に応じて拡張できる汎用コンポーネントを作成するために使用できる、最適な設計パターンは何ですか?
たとえば、ビジター + MVC が最も明白です