2016-11-07 11 views
2

最近、私はBobさんの投稿The Clean Architectureへの道を見つけました。しかし、私はそれを現在のプロジェクトに適用しようとしたとき、別の用途に依存する必要が生じたときに私は立ち往生しました。クリーンアーキテクチャ、ユースケースの依存性

たとえば、私のドメインモデルは目標とタスクです。 1つの目標は多くのタスクを持つことができます。タスクを更新するときは、親の目標の情報を更新する必要があります。換言すれば、UpdateTaskユースケースはUpdateGoalユースケースとして依存する。私はこれが受け入れ可能かどうか、あるいは、もしusecaseレベルの依存関係を避けるべきかどうかはわかりません。

答えて

3

ユースケースは、アプリケーションの機能に関連しています。一般的に、あるユースケースから別のユースケースに呼び出す必要がある場合、動作しないものがあります。

目標を孤立して更新する場合、タスクの変更によって更新する場合と同じシナリオではありません。実際、すべてのデータが更新されるわけではなく、一部であることが確かです。

確かに目標リポジトリと目標エンティティを使用する必要がありますが、それは全く異なるシナリオです。あなたのケースでは、ロジックを複製するのではなく、リポジトリまたはエンティティへの呼び出しだけで、コードラインを保存することは将来的には高価になる可能性があります。

要するに、ユースケースに依存することはお勧めできません。