Что делать с толстыми контроллерами? - Fat Controller Рефакторинг

В видео обсуждается улучшение контроллеров с помощью библиотеки от неизвестного разработчика и примера из репозитория Родриго Сидура. Автор предлагает несколько способов оптимизации бизнес-логики, которые включают вынесение проверок и сохранений в модель, использование сервисов и объектов для обслуживания бизнес-действий, а также улучшение названий методов и классов. Одним из ключевых моментов обсуждения является разделение логики на модули и сервисы, что позволяет улучшить управляемость кода и отделить бизнес-требования от уровня модели. Однако автор также указывает на проблемы с архитектурой, которые возникают при таком подходе. Для решения этих проблем предлагается использовать библиотеку ке от Родриго, которая включает в себя несколько улучшений архитектуры, таких как избавление от личной зависимости в виде интеракторов, улучшение структуры кода и встраивание валидатора входных параметров. Библиотека ке предлагает три шага для работы с данными: инпут, процесс и аутпут. Она также поддерживает композицию через композицию и встраивание кейсов в pipeline. Интерфейс библиотеки чистый и понятный, что делает её удобной для вдохновения и расширения. В конце видео автор отмечает, что библиотека ке от Родриго заслуживает внимания и может быть полезна для улучшения поддержки и тестируемости кода. Он также подчёркивает, что пример показал, как можно улучшить код и приблизить его к доменным объектам. 00:00 Введение 01:00 Обзор кода 04:23 Улучшение контроллера 07:08 Вынесение в модули 09:01 Сервисы и объекты 12:21 Объединение действий 14:13 Проблемы с уровнями модели и сервиса 16:02 Наследование сервисными объектами 18:54 Проблемы с методами сервисов 20:29 Оркестрация интеракторов 23:17 Проблемы с репозиторием 25:10 Улучшения в модели 26:22 Заключение 27:18 Введение в репозиторий 28:14 Преимущества новой структуры 29:46 Разделение действий 30:41 Проблемы с контроллером 31:42 Улучшения Родриго 32:39 Заключение и рекомендации 33:35 Обзор библиотеки ке 34:33 Особенности библиотеки 36:26 Заключение и рекомендации
Back to Top