.NET(C#、SQL Server)を使用してN層アプリケーションに取り組んでいます。私はデータベースを設計することから始めました。なぜなら、下から始めるのは良い考えだと思うからです。ここで、データベースを非常に柔軟に構築するための提案が必要です。アプリケーションがプラグインのグループとして構築されることを意図していることを知っています。
このアプリケーションは、さまざまなハードウェアデバイス(自動車、エンジンなど)用のリモートコントロールアプリです。データベーステーブルの一部を次に示します。
- デバイステーブル
- 人事表
- ユーザーテーブル
- 役割テーブル
ご覧のとおり、デバイステーブルは、制御しているデバイスを表すテーブルです。各デバイスのプロパティは他のデバイスよりも多かれ少なかれある可能性があるため、各デバイスを別のテーブルにある可能性のあるプロパティにリンクします。可能な限りエレガント。人事表は、デバイスの責任者を対象としています。たとえば、車の運転手(車ごとに複数の運転手がいる場合があります)、エンジンの運転手などです。
ご覧のとおり、ユーザーはアプリケーションユーザーであり、ユーザーと役割を2つの異なるテーブルに分けています。
私が探しているのは、デバイスをそれらのプロパティにリンクする方法です。さらに、アプリケーションでは、各デバイスは接続可能なデバイスのインスタンスです。たとえば、SIMカードをVehicleというデバイスに接続できることを意味します。また、このテーマに関するデザインパターンはありますか?
よろしくお願いします。よくわからない場合はご容赦ください。