04月23日

質問者さん

DDDを導入したく考えています。 ただ更新系をリポジトリパターンに全て当てはめるのはコード量、労力的に厳しいです。 一部のドメインのみリポジトリパターンで更新していくよう考えているのですが、他の更新系はどのように考えていけばよいでしょうか

04月23日

松岡@ログラス/DDD,アジャイル

松岡@ログラス/DDD,アジャイルさん

新規か既存かで事情が分かれます。 新規プロダクトであれば、リポジトリパターンで統一することをお勧めします。変にハイブリッドにするとあとから複雑度が増して逆に大変になります。 既存の場合は移行期間としてハイブリッドにするしか選択肢がない、と言うことになります。その場合は、意味的にまとまりのあるところからリポジトリパターンに置き換えていく、しかないですね。テストで守りながら、その中でリファクタリングしていきましょう。 ちなみに、DDDを導入、と言うことであればモデリングから始めるのはお勧めですよ!モデリングは小さなコストで実施できる割にリターンが大きいです。 DDDはモデリングと実装パターンの両方が掛け算で効果を生み出しますが、実装パターンを使用しなくても、モデリングだけでも効果が得られます。こちらの動画・記事を参考にしてみてください。 https://www.youtube.com/watch?v=HgtCKlOzRiQ&t=4s https://little-hands.hatenablog.com/entry/2022/06/01/ddd-modeling

松岡@ログラス/DDD,アジャイルさんに 質問してみましょう!

松岡@ログラス/DDD,アジャイル

松岡@ログラス/DDD,アジャイル

DDD Community JP主催。DDDや設計にお困りの方はDMにてご相談ください。講義、モブモデリングやコーディングなどご要望に合わせた進め方でサポートします(オンライン)。 YouTube: https://t.co/Vj72xhwAop

松岡@ログラス/DDD,アジャイルさんが

最近答えた質問

35分前

オニオンアーキテクチャを採用しており、CQRSを導入しています。例えば1集約の参照をしたい場合、QueryServiceではなく、Repositoryから取得した方がいいのでしょうか?その場合、Repositoryに参照系と更新系の処理が混在することになり、CQRSのルールを守れているのか疑問に感じています。複数集約にまたがる参照の場合はQueryServiceに書いているのですが、1集約の場合にどうするのか悩んでおり。

19時間前

例えばspring bootの@GetControllerの引数に定義したリクエストパラメータのバリデーションなどはどのようにunit testすべきでしょうか? class単位でのunit testが難しいため、テストコード内でspring bootのアプリケーションを起動し、localhost:8080/test にリクエストしてバリデーションがかかること(400が返ること)、でテストしていたのですが、やりたいテストに対してテストコードがリッチすぎるのではないかと思っています。

05月11日

エンティティの識別子として、そのエンティティが参照している集約の識別子を用いても違和感ないでしょうか? その参照識別子でエンティティの一意性は保たれています。 基本的にエンティティの識別子にはDBのオートインクリメント値を用いてますが、テーブル設計の都合上該当するIDはないためです。