@marlaaa

Как правильно разделить логику между контроллерами с usecases?

Я только начинаю изучать чистую архитектуру и буду благодарен за любой совет. У меня есть проект (asp.net), и я собираюсь переписать его на чистую архитектуру. Мне нужно использовать отдельный usecase для каждой crud-операции, например: createThingUseCase, deleteThingUseCase? Я слышал, что у меня должен быть один usecase для одного контроллера. Мне нужно создать контроллер для каждой операции, или я чего-то не понял?

У меня есть контроллер входа и контроллер для регистрации, это понятно. Но у меня есть, например, ThingsController с crud-операциями. Мне надо разделить его на несколько под каждую операцию?
  • Вопрос задан
  • 69 просмотров
Пригласить эксперта
Ответы на вопрос 1
@mvv-rus
Настоящий админ AD и ненастоящий программист
Абстрактно "правильного" варианта реализации нет, всё зависит от конкретных деталей.
В частности, посмотрите, используют ли ваши методы действий одни и те же внешние зависимости, или каждый - свои. Во втором случае некотоый смысл разнести их по разным контролерам есть: снизить сложность, которую дают лишние, не обусловленые задачей связи (coupling). А первом случае - нет (но может и появиться по другим основаниям).

А вся эта теория "чистой архитектуры" - она абстрактная. Ее полезно знать, чтобы иметь возможность рассмотреть больше вариантов решения, и видеть больше про возможных подводных камней, а вот фанатично ей следовать не стоит (если, конечно, ваша задача - сделать что-то полезное, а не спихнуть курсовик и т.п.).
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы