Открыта [Слёрм] Чистая архитектура приложения на GO (2022) [Николай Колядко]

[Слёрм] Чистая архитектура приложения на GO (2022) [Николай Колядко]
0.00 звёзд 0 оценок

asd

Постоялец
Организатор
Статус
Offline
Сообщения
4,938
Реакции
2,487
Баллы
1,030
BT
1,656
[Слёрм] Чистая архитектура приложения на GO (2022) [Николай Колядко]
[Слёрм] Чистая архитектура приложения на GO [Николай Колядко].png

Зачем нужна чистая архитектура?
  • Удобство тестирования. Вы можете запускать тесты без пользовательского интерфейса, базы данных, веб-сервера или любого другого внешнего компонента.
  • Независимость от фреймворка. Архитектура не зависит от какой-либо библиотеки, поэтому вы можете использовать фреймворк в качестве инструмента и не пытаться втиснуть свою систему в рамки его ограничений.
  • Независимость от базы данных. Вы можете поменять 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

Продажник
Скрытое содержимое могут видеть только пользователи групп(ы): Зарегистрированный

Донор
 
Назад
Сверху