little-hands/ddd-q-and-a

CleanArchitectureでrepositoryのインターフェースからentityへはuse case→entityなので参照できると思うんですが、repositoryの実装からentityへは参照できないことになりますか?(できる...

Opened this issue · 0 comments

Question

CleanArchitectureでrepositoryのインターフェースからentityへはuse case→entityなので参照できると思うんですが、repositoryの実装からentityへは参照できないことになりますか?(できるほうが自然だと思ってますが)
もしくは隣接していなくても外から内への参照は可能とういルール?

Answer

リポジトリのインターフェイスとしてエンティティを渡すメソッドを定義するので、それを実装するクラスのメソッドにもエンティティが渡されることになります。
渡されるのに使ってはいけないというのはおかしいので、そのまま参照して実装を進めて良いと思います。
レイヤー化に関しては緩いレイヤー化と厳しいレイヤー化というものがあるので、こちらの記事を参考にしてみてください。
https://little-hand-s.notion.site/DDD-Note-e51d9f6497ef43e2804ff65dcc007ed1