🏋️

DTO (Data Transfer Object)を学び直す

2023/05/19に公開

DTOとは

デザインパターンの一つであり、データの受け渡し専用クラス。

わかりやすく言うと、
「DTO = データをまとめて運んでくれる箱」

特徴

メンバ変数(フィールド変数)があるだけの箱のようなもの。
ただのデータの箱であるDTOには、基本的にゲッター・セッター以外のメソッドを持たない。

メリット

  1. 複数のデータを受け渡しする際に、データを一度に受け渡しできる
  2. データの制約もDTOに集約されるため、可読性の向上
  3. 型を指定することで、データの整合性を保つことができる
  4. テスト容易性向上

サンプル

class SampleDto
{
    private int $id;
    private string $name;
    private string $address;

    public function getId(): int
    {
        return $this->id;
    }

    public function setId(int $id): void
    {
        $this->id = $id;
    }

    public function getName(): string
    {
        return $this->name;
    }

    public function setName(string $name): void
    {
        $this->name = $name;
    }
    
    public function getAddress(): string
    {
        return $this->address;
    }

    public function setAddress(string $address): void
    {
        $this->address = $address;
    }

参照

https://hidetaroblog.com/dto/

Discussion