DTO 型がドメイン モデル内で作成され、型間で受け渡されていることがわかります。これは良い習慣ですか?
私は常に、DTO は主にコンテキスト境界 (オブジェクト グラフの端) で使用され、コンテキスト実装を分離する (ドメイン/UI 境界など) と考えていました。
DTO 型がドメイン モデル内で作成され、型間で受け渡されていることがわかります。これは良い習慣ですか?
私は常に、DTO は主にコンテキスト境界 (オブジェクト グラフの端) で使用され、コンテキスト実装を分離する (ドメイン/UI 境界など) と考えていました。
あなたの質問は一種の主観的ですが、それは問題ありません。ほとんどの「厳密な規則」と同様に、実際には厳格な規則はありません。ガイドラインしかありません。例外は常にあります。または、ベスト プラクティスに反して何かを行うのが最善の行動である特殊なケース (goto
ステートメントを使用して、複数のネストされたループから即座に抜け出すなど) があります。
そうは言っても、いいえ、ドメイン モデル内で DTO 型を渡すことはお勧めできません。DTO はデータ転送オブジェクトを表し、転送は通常、境界を越えた転送を意味します。ドメイン モデル内にとどまっている場合は、DTO 型に変換してからドメイン型に戻すべきではありません。
ドメイン モデルに対応する DTO 階層を作成するのは、階層化の純粋さのためだけですが、私にはアンチパターンのように思えます。毎回反論します。
EJB 1.0 では、このように DTO を使用することが推奨されていました。ネットワーク トラフィックを回避するために、人々はデータを DTO にロードします。今は不要だと思います。