170 похожих чатов

Всем привет! Расскажи пожалуйста, как бороться с большим количеством зависимостей

в аргументах?

Есть HTTP сервер, прокидываю в него разные сервисы и регистрирую хэндлеры. Сделал всего пару сервисов, но аргументы функции New, которая создает сервер, разросся до невероятных масштабов 😅

19 ответов

22 просмотра

вынести их в отдельную структуру (например options) и передавать одним аргументом

Dto + Builder pattern обычно помогает, но это не точно

депомпозируйте)

почему у тебя несколько сервисов?

Rostislav Teryaev
как это вообще применимо?

ну есть как выше написали структура, какие-то поля обязательные, какие -то нет обязательные в New, необязательные через сеттеры

Bat
ну есть как выше написали структура, какие-то поля...

там не было речи про обязательные или необязательные аргументы

Igor-Talpa Автор вопроса
Rostislav Teryaev
почему у тебя несколько сервисов?

я только изучаю Го, после многолетнего опыта JS Смотрел много видео по архитектуре, вынес каждую группу endpoint в отдельный пакет: auth/ provider/ email/ handlers.go email.go vk/ handlers.go vk.go provider.go service.go token/ handlers.go service.go storage.go user/ repository.go service.go user.go У каждого сервиса есть метод RegisterHandlers который добавляет endpoint к роутеру, возможно это неправильно

Rostislav Teryaev
там не было речи про обязательные или необязательн...

хм, да, я не прав, прочитал между строк, сори

Igor Talpa
я только изучаю Го, после многолетнего опыта JS С...

у вас есть небольшая раковая опухоль в примере если не смотреть на пути, то чем service.go отличается от service.go? почему для auth не назвать authenticator, а для user назвать – а зачем вам сервис в юзер? confirm_handler register_handler block_handler накой вам service? что такое сервис? сервирует что-то? все везде всегда сервируется — байты кастуются?

Максим Федоров
у вас есть небольшая раковая опухоль в примере ес...

всегда предпочитал handler_confirm handler_register handler_block наверное потому-что в C++ для этого у нас был namespace и ещё это удобно когда ищешь по текстовому поиску 🤷

Roman Sharkov
всегда предпочитал handler_confirm handler_regist...

в хендлерах у меня кстати тоже так. но вот все 3 handler используют AuthPolicy/AuthUsecase/AuthCompositor - где вся логика

Artur Karapetov
в хендлерах у меня кстати тоже так. но вот все 3 ...

напомните в общих терминах ваши Policy — это что?

Artur Karapetov
updated

и все же, Policy — что это?

Максим Федоров
и все же, Policy — что это?

сущность агрегирующая сервисы.

Igor-Talpa Автор вопроса
Максим Федоров
у вас есть небольшая раковая опухоль в примере ес...

Ну по моей задумке сейчас сервис авторизации хранит в себе провайдеров и регистрирует роуты для каждого. Могу избавиться от сервиса и оставить просто провайдеров

Похожие вопросы

Обсуждают сегодня

Всем привет! Имеется функция: function IsValidChar(ch: UTF8Char): Boolean; var i: Integer; ValidChars: AnsiString; begin ValidChars := 'abcdefghijklmnopqrstuvwxyzABCDE...
Евгений
44
Ну вот просто даже давайте вот как. Какой нибудь конкретный кейс, можете в пример привести, где бч работает и приносит прикладную пользу, а не просто что бы было? Не крипту.
Alexander Andreev
22
объясните пожалуйста, почему функция не работает должным образом? вроде должно брать активное окно сравнивать его размер с размером экрана, и если есть совпадение = true прове...
JF
9
> Копаем глубже > Следующий момент был, когда я спросил его, знает ли он JavaScript. Он ответил, что его учили работать с C#. Я тоже в университете писал на C#, но даже там мн...
Oleg Volkov
4
лучше скажите, причём тут паскаль?
Alexey Kulakov
36
И никого не интересует какие пакеты кто использует. ((% Заходишь на сайт симфони и видишь поддержку Украины - по законам РФ это ж экстремизм. Только никто не отказывается от с...
Am Ambrion
11
Чтобы перехватить все нажимания буков на форме, надо хук ставить? Пробовал на форме ОнКейДаун, оно ловит клаву если фокус не на компоненте с вводом текста
Serjone
15
Народ! Впервые клиенту пришло письмо от РКН, у вас, дескать, есть яндекс метрика, а нигде не написано, что вы ее юзаете. Никто не сталкивался?
Sasha Beep
14
Но, может, есть уже проверенная? Наши требования такие: 1. Сообщения должны приходить из Инста в CRM оду 2. Должна быть возможность подключить несколько экаунтов Инстаграм. Р...
Alexander Sharoiko MSE / Александр Шаройко
7
Вопрос на перед, на следующую пятницу. Сколько строк кода можно вешать на одного программиста, понятно что если проект хорошо написан то можно и миллион. Но есть же где то пре...
AlekseyK Kluchnikov
31
Карта сайта