Flutter

【Flutter】Dtoについて解説

この記事を書いた人

  • 元・臨床工学技士からプロダーツプレイヤー、フリーランスFlutterエンジニアを経てPdMに転身。
  • 現在はFlutter技術主幹として、開発や若手育成に携わっています。
  • 未経験から積み上げたリアルな経験をもとに、学びのコツをお伝えします。

 

 

そのそもDtoってなに?

Domain Transfer Objectの略

Repositoryによる通信結果の値を表現するもの

→Repositoryがわからない方はこちら。

アプリケーション内や外部システムとの間で

特徴

データ構造の定義で用いられる(domain)

2、シリアライズとデシリアライズ

JSONなどのフォーマットでデータを送受信する際にDTOはそのデータをオブジェクトに変換したりオブジェクトをデータに変換したりする。

3、型安全の向上

DTOを使用することでデータの型が保証され、エラー発生を防ぐことができる。

 

6つの利点

①データのカプセル化

APIレスポンスから受け取ったデータをそのままUIに渡さないでDTOを介して必要なデータだけ送信する。

 

②ドメイン層との分離

アプリケーションのビジネスロジック(ドメイン層)とデータのやり取り(データ層)を分離できる為、アーキテクチャが明確になりやすい。

ドメインモデルが変更されてもデータのやり取りを担うDTOには影響がない。

 

③セキュリティの向上が見込める点

DTOを用いると不要なフィールドをAPIレスポンスに含めないようにできる。

 

④柔軟なデータ変換

 

⑤パフォーマンスの最適化

 

⑥テストが簡単になる

 

 

 

 

 

 

 

 

-Flutter