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

Джуновский вопрос по "архитектуре" А то не могу понять, как лучше

делать.

Cделать отдельный инициализатор для каждого сервиса и инициализировать его отдельно, или засунуть все в одну структуру "сервисы" и потом одну ее вызывать?


func NewServices(deps Deps) *Services {
schoolsService := NewSchoolsService(deps.Repos.Schools, deps.Cache, deps.CacheTTL)
emailsService := NewEmailsService(deps.EmailSender, deps.EmailConfig, *schoolsService, deps.Cache)
...


Или

userService := service.NewUserService(dao)
answerService := service.NewAnswerService(dao)

Заранее спасибо =)

12 ответов

29 просмотров

конечно зависит от масштаба, может быть что все сервисы лежат в файле services.go но вообще, вообще, надо делать так, чтобы сервис шифрования пароля пользователя лежат максимально близко и к пользователю и ко всей логике, где шифруется... назовем такого рода пакет auth auth/ user.go role.go handler_register.go handler_confirm.go handler_reset.go handler_login.go // эти можно в service.go объединить tokenizer.go sender.go

ohtiomo.- Автор вопроса
Максим Федоров
конечно зависит от масштаба, может быть что все се...

Принял. А интерфейсы хранить в отдельном файле, или на слое, где они будут использоваться?

ohtiomo.
Принял. А интерфейсы хранить в отдельном файле, ...

лучше рядом, вплоть до нахождения в одном файле

Ровно под этот вопрос сделана uber.fx Решение спорное, но - изучите, может зайти, а нет, так на мысли наведет

Максим Федоров
конечно зависит от масштаба, может быть что все се...

Вот я сколько не пробовал таким шаблоном пилить (всё в одном пакете) - всегда приходил к тому, что приходилось подпакеты делать.. и уже переставало выглядить так красиво

А4 Одноногое
Вот я сколько не пробовал таким шаблоном пилить (в...

дело не в красиво, а в границах и дроблении стейта-логики: - режем на поменьшее по возможности - все что связано — держим вместе

Максим Федоров
дело не в красиво, а в границах и дроблении стейта...

Хм.. тем не менее, может я overengineering делаю.. что-то кроме версионирования api имеет смысл в отдельные подпакеты выносить? (вернее, может ли понадобиться такая необходимость?)

ты только что изобрел сервис локатор

Максим Федоров
конечно зависит от масштаба, может быть что все се...

У вас есть пример полного проекта? Что-то смотрю и сообразить не могу, как-то все перемешано Что в пакете auth делает role? Будет ли существовать отдельный пакет role? Какая логика выделения пакетов?

А4 Одноногое
У вас есть пример полного проекта? Что-то смотрю и...

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

Andrei 🦉 Sergeev
Вам не надо смотреть чужие проекты, вам надо пляса...

чтобы самому плясать, нужна насмотренность, чтобы было от чего плясать

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
Rꙮman Yankꙮvsky
29
А вообще, что может смущать в самой Julia - бы сказал, что нет единого стандартного подхода по многим моментам, поэтому многое выглядит как "хаки" и произвол. Короче говоря, с...
Viktor G.
2
30500 за редактор? )
Владимир
47
а через ESC-код ?
Alexey Kulakov
29
Чёт не понял, я ж правильной функцией воспользовался чтобы вывести отладочную информацию? но что-то она не ловится
notme
18
У меня есть функция где происходит это: write_bit(buffer, 1); write_bit(buffer, 0); write_bit(buffer, 1); write_bit(buffer, 1); write_bit(buffer, 1); w...
~
14
Добрый день! Скажите пожалуйста, а какие программы вы бы рекомендовали написать для того, чтобы научиться управлять памятью? Можно написать динамический массив, можно связный ...
Филипп
7
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_h_common.erl#L174 https://github.com/erlang/otp/blob/OTP-27.1/lib/kernel/src/logger_olp.erl#L76 15 лет назад...
Maksim Lapshin
20
Карта сайта