Size: a a a

2020 August 21

IK

Ilya Kaznacheev in Go-go!
У меня просто обычно есть dal, который через DI передается в структуру хендлеров, и в хендлере используется через интерфейс.
Сам dal глупый
источник

DP

Daniel Podolsky in Go-go!
dal - data access layer, там обертка над базой, чтобы и базу не тестить
источник

IK

Ilya Kaznacheev in Go-go!
Я понимаю, поэтому и спрашиваю. Логика то где?
источник

DP

Daniel Podolsky in Go-go!
ну - во всем остальном
источник

IK

Ilya Kaznacheev in Go-go!
Но не в самом хендлере?
источник

DP

Daniel Podolsky in Go-go!
нет, ни в коем случае
источник

DP

Daniel Podolsky in Go-go!
в хендлере должен быть один вызов. и, возможно, обработка ошибки какая-то
источник

IK

Ilya Kaznacheev in Go-go!
Почему?
источник

IK

Ilya Kaznacheev in Go-go!
Я просто хочу услышать какие-то архитектурные аргументы, а не доебываюсь
источник

DS

Dmitry Soloma in Go-go!
Ilya Kaznacheev
Почему?
Потому что точек входа в прилоежние может быть несколько, а бизнес логика дублироваться не должна.
источник

E

Edgar in Go-go!
Тестировать логику в хенделере - охереешь
источник

DP

Daniel Podolsky in Go-go!
чтобы логику потестить в отрыве от протокольных конвенций
источник

IK

Ilya Kaznacheev in Go-go!
Имеет смысл
источник

IK

Ilya Kaznacheev in Go-go!
А маппинг в модели grpc где происходит?
источник

DP

Daniel Podolsky in Go-go!
в хендлере
источник

DP

Daniel Podolsky in Go-go!
где ему еще быть
источник

IK

Ilya Kaznacheev in Go-go!
Грубо говоря, у меня есть сущность “чайный сервиз”, есть такая таблица в базе, есть такое сообщение в proto.

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

DP

Daniel Podolsky in Go-go!
я в структуру уровня логики перекладываю еще в dal
источник

IK

Ilya Kaznacheev in Go-go!
Я понимаю, что гексогональная архитектура и вот это все, но получается же тройное перекладывание данных, не?
источник

DP

Daniel Podolsky in Go-go!
двойное
источник