0

私は Java を試している .NET 開発者です。私の現在のプロジェクトには、UI レイヤー、ビジネス ロジック レイヤー、およびデータ アクセス レイヤーがあります。私は現在DALに取り組んでいます。

まだ外部データベースに接続していません。DB が配置されるまで、DAL クラスでインメモリ dataTables を利用することを望んでいました。

.NET では、インメモリ dataTable の作成、選択、追加、削除が非常に簡単です。しかし、Java では、同じことを行うものを見つけることができませんでした。

「dataTables」を厳密に型指定されたオブジェクトのコレクションに置き換えることを検討していました。ただし、それには、DAL 内のビジネス レイヤーへの参照を追加する必要があります (これはダメだと思いました)。

誰かが混乱している開発者を助けることができますか? このアプローチ全体に欠陥があるとしたら、どうしますか? Java の dataTable に相当するものを見逃した場合、それは何ですか?

4

4 に答える 4

1

この回答で説明されているようなメモリ データベースを使用できます。

異なるメモリ データベースの比較は、この SO questionに示されています。

于 2010-10-02T20:05:35.587 に答える
1

インメモリ Derby データベースの実行に関する記事を次に示します。

使用しているデータベースと永続化ライブラリがわかっていれば、より正確な回答ができるかもしれません。

于 2010-10-02T20:09:16.357 に答える
1

「dataTables」を厳密に型指定されたオブジェクトのコレクションに置き換えることを検討していました。ただし、それには、DAL 内のビジネス レイヤーへの参照を追加する必要があります (これはダメだと思いました)。

誰がこれらのルールを作成しますか?

データ アクセス レイヤーがモデル オブジェクトの CRUD 操作を担当している場合、それらへの参照が必要になるように思えます。それを回避する方法はありません。

永続層は、サービスまたはビュー レイヤーについて認識する必要はありません。

完全に切り離された唯一のクラスは、誰とも話さず、何も提供しないクラスです。無駄だ。

「ルール」にこだわるな。アプリケーションをレイヤー化しようとしています。永続性に関するすべてのものをクラスのレイヤーに入れています。

インメモリデータベースが永続層の設計方法に影響を与えるとは思いません。リレーショナル データベース、フラット ファイル、またはその他のメカニズムでスワップできる必要がありますが、インターフェイスは変更しないでください。それは実装の詳細です。

于 2010-10-02T20:09:51.940 に答える
0

OR/M は、.NET よりもはるかに早く Java で利用できました。DataSet には、手続き型のプログラミングを強いるという点で欠陥があります。オブジェクトとやり取りして、後でそれらを DB にマップしてみてください。

于 2010-10-02T21:53:10.437 に答える