リポジトリーについての質問です。
Opened this issue · 0 comments
suzuki-hoge commented
Question
リポジトリーについての質問です。
CQRSの拡張なのかもしれないですが、参照用のリポジトリーは参照のパターン毎にインターフェイスがあった方がモックを作るのが楽なのですが、有りですか?実装は同じものを使ってます。
Answer
「参照用のリポジトリ」と言われているので、これはまさにCQRSですね。その場合、ドメインオブジェクト(エンティティ、値オブジェクトなど)ではなく、参照専用のオブジェクト(私はDTOという命名を使います)を返します。
その際、参照のパターンごとにインターフェイスを作るのはいいことだと思います。CQRSの参照モデルは、複数のユースケースで使い回すと、最大公約数的なオブジェクトになり、一部の値は一部のユースケースでしかつかない、と言ったことが発生して保守性が下がるからです。
テスト観点からも良さを感じているのであれば、なおさら良いことだと追います。
CQRSについてはこちらの記事、
https://little-hands.hatenablog.com/entry/2019/12/02/cqrs
もしくはこちらの書籍にも解説がありますので、よろしければ参照されてください。
https://little-hands.booth.pm/items/1835632