#web-applications #use-case #clean-architecture
#веб-приложения #прецедент #чистая архитектура
Вопрос:
Предположим, я должен создать веб-страницу, на которой пользователь:
- Поиск продуктов
- Нажмите на конкретный продукт и покажите подробности
- Измените некоторые детали и нажмите Сохранить.
Я ожидаю, что в моем веб-приложении будет ProductController с тремя действиями: одно для списка, одно для деталей, одно для сохранения изменений.
Должен ли я иметь три разных пользовательских варианта (тогда три класса) или достаточно иметь один класс (например, ProductInteractor) с тремя методами?
Я боюсь, что наличие варианта использования для каждой точки входа приведет к созданию большого количества кода котла..
Спасибо за любую помощь!
Ответ №1:
Вы уже разработали три действия контроллера, какая разница, если вы разработаете три интерактора?
В конце концов, у вас есть три разных варианта использования, поэтому мой вам совет — следовать SRP (принципу единой ответственности) и позволить каждому варианту использования иметь свой собственный interactor.
Это дало бы вам больше гибкости в том смысле, что было бы легко, например, заменить существующую реализацию поиска продуктов на новую — независимо от других взаимодействующих.