DTO
Data Transfer Object
外から変更可能
異なるレイヤー間のデータの受け渡しに使う
Contextの外側でJSONなどにserializeされる、
次のContextは、JSONをdeserializeしてDTOに変換してContext内部に取り入れ、
なんでわざわざDTOを経由するのかわからん #?? 一気にJSONなどにserializeするのではだめなのか
依存性逆転させたいから?
違うか。それなら単にInterfaceを用意すればよいだけ
https://gyazo.com/92a17302639b68ab7e00999a6a543491
このDomain間って外部システムで、通信しているのか #?? JSでの開発が当たり前だとより分かりづらい気もするmrsekut.icon
そもそもやり取りしているものがJSONがなので
参考
DTOを作らないなら、Entityを持ち運ぶことになるが、
そうなると、境界の外でEntityに含まれるロジックを実行できてしまう
すると、Business LogicがApplication層の外でも実行できてしまい、layerの責務が曖昧になる
だから、Entityとほぼ同じ構造のシリアライズ可能なものを仲介する、という感じか?
だとすれば、かなりOOP前提だなmrsekut.icon
そもそもplaneなdataを持ち回している関数型ならそんな問題は起きない
DTOとは自身のデータへの格納と取り出し機能しか持たないオブジェクトのことです ref Domain Payload Object