Serviceを読んで理解し、同意したものとみなします。スタック・オーバーフローはプログラマーとプログラミングに熱心な人のためのQ&Aサイトです。252件1Laravel5を使った開発でinterfaceを利用したリポジトリパターンを用いようと思っています。そこでEloquentのsave()やfindOrFail()等が投げる例外をドメイン層やアプリケーション層で処理すると、その部分がインフラストラクチャ層に依存してしまう(リポジトリの実装を入れ替えた際に上のレイヤーで問題が起こる)と思うのですが、インフラストラクチャ層で一度例外をキャッチし、独自に作成した例外を投げ直すなどの処理を行う方がよいのでしょうか。票0Laravel5もEloquentも分からないですが、一般論として話せそうなので回答してみます。このようなケースでは、独自の例外クラスをドメイン層やアプリケーション層に定義し、インフラ層で発生した例外をその独自例外に変換して再スローするのが良いと思います。※インフラ層は、ドメイン層やアプリケーション層に依存できますよね?当然ですが、この独自例外は、ドメイン層であれば「ドメインモデルの言葉」として表現されるクラスであるべきですし、アプリケーション層のものであればアプリケーション層での言葉を使います。※ドメインモデルにその例外が発生した状況を表す言葉が無いのであれば、恐らくそれはドメイン層ではなく、アプリケーション層に定義すべき例外なのだと判断できます。個の銅バッジありがとうございます!まさに欲していた回答でした。DDD初挑戦で、そもそも例外の再スロー自体をするような経験もこれまでなかったので、こんなことをして不自然じゃないかと迷っておりました。例外の定義もドメイン層、アプリケーション層とそれぞれで行う頭もなかったので非常に参考になりスッキリしました。|回答スタック・オーバーフローに参加してくれて、ありがとうございます!質問の回答を共有してください。回答を説明し、自分の検討結果も共有してください。意見を述べること(意見を述べるなら、参照リソース、自分の経験で意見をサポートしてください)さらにサポートが必要な場合このヘルプを参考してください。“回答を投稿”をクリックすることで利用規約、プライバシーポリシー、及びクッキーポリシーに同意したものとみなされます。タグが付いた他の質問を参照するか、自分で質問をする。質問のフィードこのRSSフィードを購読するには、このURLをコピーしてRSSリーダーに貼り付けてください。