Skip to content

Clean Architecture на Golang

Введение в Clean Architecture

  • Зачем нужна Clean Architecture?
  • Принципы и основные идеи Clean Architecture.
  • Сравнение с другими подходами к архитектуре программного обеспечения.

Принципы проектирования Clean Architecture

  • Dependency Rule.
  • Separation of Concerns.
  • High-Level Policy vs. Low-Level Detail.
  • Чистые границы.

Проектирование на уровне бизнес-логики

  • Определение бизнес-правил и требований.
  • Использование Use Case и Interactor паттернов.
  • Применение Entities и Value Objects для моделирования бизнес-объектов.
  • Практические примеры.

Использование структур данных

  • Использование Entities и Value Objects.
  • Определение и разделение Entity и Data Mapper.
  • Отличие между Entities и Data Transfer Objects (DTOs).
  • Работа с репозиториями.

Создание границы адаптеров

  • Определение границы контроллера.
  • Создание интерфейсов адаптеров.
  • Использование презентеров для преобразования данных.
  • Практические примеры.

Построение внешних интерфейсов

  • Создание и использование адаптеров веб-сервисов.
  • Работа с HTTP-запросами и ответами.
  • Использование фреймворка Gin для построения веб-приложений.
  • Практические примеры.

Тестирование Clean Architecture приложений

  • Тестирование Use Case и Interactors.
  • Модульное тестирование адаптеров.
  • Интеграционное тестирование внешних интерфейсов.
  • Практические советы и примеры.

Оптимизация и управление проектом

  • Профилирование и оптимизация производительности.
  • Обработка ошибок и логирование.
  • Управление зависимостями с использованием инструментов Go Mod.
  • Создание Makefile для автоматизации процесса сборки и тестирования.

Практический проект

  • Создание полноценного приложения с использованием принципов Clean Architecture.
  • Разработка бизнес-логики и внешних интерфейсов.
  • Тестирование и оптимизация проекта.
  • Заключительное обсуждение результатов и рекомендации.

Дополнительные материалы

  • Рекомендуемая литература и онлайн-ресурсы.
  • Полезные инструменты и библиотеки для разработки на Golang и Clean Architecture.

Курс ориентирован на разработчиков, уже имеющих определенный опыт работы с языком программирования Go и желающих изучить методологию Clean Architecture и ее применение на практике.