DTOとEntityの差は何ですか。

解決済みの質問

DTOとEntityの差は何ですか。

dtoとentityは
DBと同じ名前と形式を持っているはずですね。

でも名前も違うし。。差異は何ですか。。。

投稿日時 - 2008-03-27 13:36:47

QNo.3899072

すぐに回答ほしいです

質問者が選んだベストアンサー

Entityを、Entity Beanとか、DBのテーブルとか、と解釈します。
DTOをData Transfer Objectのデザインパターンと解釈します。

自分なりの解釈ですが。。。
Entityは、データレコードを表現するクラスのことで、DTOは、EntityBeanとかのデータをAPの都合の良い形でモジュール間でやりとりするためのクラス設計方法の一つと思います。

例えば、複数のデータソースからデータを取得してそれらを最終的なUI上に表現したいとした場合、画面構築の際にデータソースそれぞれに都度取得要求しつつ画面構築するよりかは、一度DTOにまとめてから画面構築したほうが設計上も綺麗ですしソースもシンプルになると思います。

パフォーマンスの面で言えば、例えば、データソースを扱う複数のサーバ(DBとか)とAPサーバとフロントエンドのAP(UI)が動作するクライアントPCといった構成で、クライアントからAPサーバを介してデータソースにデータ要求をしたいとした場合、データソース別に都度ネットワーク越しにデータの要求とレスポンスを繰り返すよりかは、APサーバでDTOにまとめてから、一括でやりとりしたほうがパフォーマンス的には良いと思います。もちろん呼び出す側でもそれを意識した呼び出しが必要だと思いますけど。

「DBと同じ名前と形式を持っているはず」というのがそもそも認識誤りなのじゃないかなと思ってるんですけど、どうでしょ。

投稿日時 - 2008-03-27 22:44:45

ANo.2

9人が「このQ&Aが役に立った」と投票しています

[  前へ  |  次へ ]

ベストアンサー以外の回答(1件中 1~1件目)

ANo.1

Data Transfer Object と Entity の語源から考えると
違うような違わないような、よくわからない(無知)んですが、
私は
Entity:データベースのレコードをそのまんま格納する。
DTO:入力フォームなどのデータなど、アプリ内でやりとりするデータを格納する。DBに保存されるとは限らない。
と認識しています。

DTOをそのままEntityとして使う場合も多いので、混同されているのでしょう。

投稿日時 - 2008-03-27 17:16:36

あわせてチェックしたい
  • JAVAのDBアクセス講習 ...
  • WEB→DBの作成について ...
  • 差延と、〈差異と反復〉 ...
PR

OKWaveのオススメ

教えて弁護士さん!

お金の悩みQ&A特集はこちら