Обновить
31
69.1
Александр Дмитриев@BincomAD

Разработчик Backend https://t.me/siliconchannel

Отправить сообщение

А какое решение используется у вас в проекте, если не секрет?) 216 сущностей в одном сервисе, мне кажется, в любом формате и архитектуре тяжело поддерживать

Привет! Спасибо за крутой фидбек)

По сути, назначение адаптера сводится к хендлеру, только в обратном порядке. Если в хендлере мы получаем запрос, обрабатываем его и отдаем ответ, то в адаптере мы обрабатываем данные, отправляем запрос и затем обрабатываем ответ. Так что, отвечая на вопросы:

  1. В принципе, ответственности не сильно больше, чем у хендлера: обрабатывать и отправлять/получать данные.

  2. Исходя из первого, маппинг можно отнести к обработке данных, так что да, вполне логично сделать его на этом уровне.

  • Передавать все в контексте - антипаттерн, в контексте лежит по минимуму и реально необходимое. В моей структуре как раз наоборот практически ничего в контексте не лежит, а передается от слоя в слой через аргументы

  • CRUD - не панацея. Организуйте как удобно, тут про слои и их взаимодействие

  • 3 пункт звучит круто, никогда о таком не задумывался, спасибо)

  • БД - абстрактный пример. Лично я за свою жизнь пережил переезд на другой логгер и на другую версию тарантула, без интерфейсов - больно

  • Как раз тестируется это проще за счет интерфейсов "с двух сторон", мокаешь и делаешь юниты, не вижу проблемы в тестировании.

Спасибо за виденье, учту в следующих своих проектах)

Смена субд взята абстрактно, как более наглядный пример. На практике такие ситуации случались дважды:
- Переезжали на новый логгер
- Разрабы ломали обратную совместимость и при переезде на новую версию надо было все перелопачивать (Привет tarantool)

Да, изначально подумал, что как тестовый пример пойдет, но сейчас вижу, что многие сохраняют и возможно будут использовать этот код, поэтому подправил код и предлагаю запустить постоянно читающую логи горутину, писать их в канал, а из канала потом вычитывать)

Привет, спасибо за замечание) А какие могут быть потенциально проблемы с пустой строкой?

В моем понимании это как бы означает не ошибку, а то что логи еще не писались в файл, нет логов - нет файла, собственно поэтому логически это не вынесено под иф с ошибкой)

Информация

В рейтинге
103-й
Откуда
Москва, Москва и Московская обл., Россия
Работает в
Дата рождения
Зарегистрирован
Активность