私は(欠陥のある)3層アーキテクチャで実装されたプロジェクトを持っています。私の仕事は、プロジェクトに新しいデータベースを追加するのが簡単になるように、より一般的なものにしています。3層アーキテクチャの正確さ
具体的には、SQLデータベースのdatabaseFacadeがあります。私は複数のデータベースを非常に簡単に追加できるように、より汎用的にする必要があります。この場合は、CSVファイルに書き込んでください。
データベースレイヤーで私の考えは、すべてのメソッドが定義されたインターフェイスを作ることでした。その後、データベースをファサード(あなたが使いたいものに応じて)にして、このインターフェースを実装して、より一般的になります。 それからDBmanagerクラスがあります。このDBmanagerクラスは、使用するデータベースが分かるように設定ファイルを読み込みます。この情報に基づいて、彼はインターフェイスのインスタンスを作成し、これをアプリケーションレイヤに返します。
しかし、これは私が正しいかどうかわからないところです。アプリケーション層にはDBmanagerクラスがあります(ここではすべてが正しくカプセル化されていますが、ファサードを返すためには1つのメソッドしかパブリックではありません)。その後はDBfacadeです。
この正しさについてのご意見はありますか?私は疑問を持っているので。