DTOを使用してオブジェクトリレーショナルレイヤーとデータアクセスレイヤーの間でデータを転送することは理にかなっていますか?このパターンはいつ有用で、いつアンチパターンになるのでしょうか。
1 に答える
1
ビジネスコードをデータベースから分離したい場合に非常に便利です。非常に簡単に言えば、DTO はデータベースから選択して作成され、DTO への変更はデータ アクセス層によってデータベースに変換されます。場合によっては、データベース ベンダーからの独立性を実現することもできます (少なくともコードのビジネス面では)。
一般的な欠点は、複雑な結合や共用体などに対処するため、またはパフォーマンスを最大化するために非常に特殊な SQL を使用する場合です。このような場合、動的 SQL またはストアド プロシージャを送信してデータを取得する、ある種の「バイパス」メソッドを DAL で許可すると便利です。
于 2009-01-22T19:25:10.310 に答える