2016-11-07 2 views
2

Недавно я нашел свой путь к сообщению The Clean Architecture от дяди Боба. Но когда я попытался применить его к текущему проекту, я застрял, когда нам нужно было зависеть от другой usecase.Чистая архитектура, зависимостей между usecase

Например, моя модель домена - цель и задача. Одна цель может иметь много задач. Когда я обновляю задачу, ей необходимо обновить информацию о ее родительской цели. Другими словами, UpdateTask usecase будет иметь UpdateGoal usecase как dependecy. Я не уверен, что это приемлемо, или, если мы должны избегать зависимостей уровня usecase.

ответ

3

Вариант использования связан с функциональностью вашего приложения. Обычно, когда нам нужно вызывать из одного варианта использования другому, есть что-то, что не работает.

Когда вы обновляете цель изолированно, это не тот же сценарий, что и при ее обновлении путем изменения задачи, на самом деле, это не обязательно, что не все данные обновляются, а часть.

Конечно, вам придется использовать репозиторий цели и объект цели, но это совершенно другой сценарий. В вашем случае вы не дублируете логику, только звонки в репозиторий или сущность, сохранение кодовых строк может быть дорогостоящим в будущем.

Короче говоря, неплохо иметь зависимость между вариантами использования.

Смежные вопросы