Описание
Зачем нужна чистая архитектура?
Удобство тестирования. Вы можете запускать тесты без пользовательского интерфейса, базы данных, веб-сервера или любого другого внешнего компонента.
Независимость от фреймворка. Архитектура не зависит от какой-либо библиотеки, поэтому вы можете использовать фреймворк в качестве инструмента и не пытаться втиснуть свою систему в рамки его ограничений.
Независимость от базы данных. Вы можете поменять Oracle или SQL Server на MongoDB, BigTable и т.д.
Независимость от UI. Вы легко можете изменить пользовательский интерфейс, не затрагивая остальную систему. Например, можете заменить веб-интерфейс на консольный, не меняя бизнес-правил.Ваши бизнес-правила не связаны с базой данных.
Как понять, что вам пора на интенсив?
Не знаете, что такое чистая архитектура и как сформировать структуры папок по этой технологии
Переходите на Go с другого языка программирования и хотите быстрее понять, как всё работает
Пишете на Go, но не работали над большими проектами
Хотите брать интересные задачи и создавать сложные приложения на Go с нуля
Программа курса:
День 1
Разберем структуру проекта на Golang, обсудим примеры использования чистой архитектуры и научимся справляться с возникающими сложностями.
Практика:
Создаем структуру проекта
Наполняем Dependency injection (DI)
Подключаем PostgreSQL через DI
День 2
Разбираем накопившиеся вопросы, закрепляем материал предыдущего дня, учимся формировать структуры папок по чистой архитектуре
Практика:
Создаем структуры папок
Созданием конструкторов для слоёв и устанавливаем зависимости
Проводим инициализация слоёв на main
Наполняем слои (Domain, Use, Case, Delivery, Repository)
День 3
Изучаем Observability, контекст (context) и трассировку, заканчиваем интенсив запуском и демонстрацией работы приложения (сервиса по работе с контактами и возможностью их группировки)
Практика:
Добавляем использование контекста
Добавляем логирование ошибок
Подключаем Jaeger через DI
Добавляем трассировку
Учимся покрывать тестами блок Use Case
Отзывов пока нет.