1. ホーム
  2. model-view-controller

[解決済み】DTO(Data Transfer Object)とは何ですか?)

2022-03-25 01:40:45

質問

データ転送オブジェクトとは何ですか?

MVCではモデルクラスはDTOなのか、そうでない場合はどのような違いがあるのか、また両方必要なのか。

どのように解決するのですか?

データ転送オブジェクトは、データをカプセル化し、アプリケーションのあるサブシステムから別のサブシステムに送信するために使用されるオブジェクトです。

DTOは、N階層アプリケーションのサービス層が、自身とUI層の間でデータを転送するために最も一般的に使用されます。ここでの主な利点は、分散アプリケーションで電線を介して送信する必要があるデータの量を減らすことができることです。また、MVCパターンにおける優れたモデルにもなります。

DTOのもうひとつの用途は、メソッド呼び出しのパラメータをカプセル化することです。これは、メソッドが4つか5つ以上のパラメータを取る場合に便利です。

DTOパターンを使用する場合、DTOアセンブラも利用することになる。アセンブラはドメイン・オブジェクトからDTOを作成するために使用され、その逆も同様です。

ドメイン・オブジェクトからDTOへの変換は、コストがかかる作業です。分散アプリケーションを作成しないのであれば、おそらくこのパターンから大きな利益を得ることはないでしょう。 マーティン・ファウラー氏は次のように説明しています。 .