Skip to main content

Общая концепция разработки сервиса

Общая архитектура

Сервис разрабатывается в слоеной модели. Код содержит три основных слоя в виде пакетов:

  • controller - слой определяет взаимодействие с сервером fiber:
    • Разбирают запросы пользователей
    • Вызывает функции валидации объектов предметной области
    • Содержит документацию к предоставляемому API
    • Делегирует обработку данных слою usecase
  • usecase - слой бизнес-логики.
    • Содержит типовые кейсы взаимодействия с системой
    • Определяет логику сервера приложений при взаимодействии с системой
    • Делегирует ввод/вывод слою storage
  • storage - слой хранения данных
    • Содержит логику ввода/вывода в конкретные хранилища данных

Отдельно стоит пакет domain, который:

  • Описывает структуры данных предметной области
  • Логику их взаимодействия со всеми слоями системы
  • Логику конвертации объектов предметной области в другие объекты предметной области
  • Валидацию объектов предметной области

Этот пакет используется всеми компонентами системы.