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