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

Побить можете? https://github.com/anboo/sms-gateway/blob/master/service/di.go Это, конечно же, не di Но вот сделал такой билдер

объектов

Чтобы можно было из любого места достать уже созданный объект:
https://github.com/anboo/sms-gateway/blob/master/http/send_sms_handler.go#L23
formattedPhoneNumber, regionCodeByIp, err := service.GetObjectStorage().GetLocationManager().ParsePhoneAndFormatE164(
https://github.com/anboo/sms-gateway/blob/master/http/send_sms_handler.go#L32
p, err := service.GetObjectStorage().GetPhoneNumberManager().GetProviderForPhoneNumber(

Смотрел уберовский DI, там как то что то неудобно все, на функциях и с парсингом рефлексий и т.п.

Я не нашел как решить вопрос связи между объектами
Может я с самого начала ошибся, захотев оперировать всей этой шнягой как объектами?

13 ответов

13 просмотров

А тестировать как будете? Вот вам надо будет написать юнит-тест, который будет имитировать отправку смс, но без реальной отправки, как реализуете?

Есть же wire. Нафига эти велосипеды?

Сервис-локаторы в 2021 - это сильно, конечно. Что вам мешает руками граф зависимостей строить?

Danil-Andreyev Автор вопроса
Михаил Макарычев
Сервис-локаторы в 2021 - это сильно, конечно. Что ...

Я пришел из мира с автовайрингом и DI с коробки(

Danil Andreyev
Я пришел из мира с автовайрингом и DI с коробки(

Я тоже. Но скорее всего в том мире, откуда вы пришли, били по рукам за service locator

А зачем вам тут https://github.com/anboo/sms-gateway/blob/master/service/di.go#L12 если вы его не используете?

Danil-Andreyev Автор вопроса
Roman Timofeev
А зачем вам тут https://github.com/anboo/sms-gatew...

Это чисто первый работоспособный v0.0.1-alpla вариант стоража уже собранных объектов Он там сто раз переписывался и всё еще удалится Спасибо

https://github.com/anboo/sms-gateway/blob/master/service/location_manager.go#L25 не надо тут паниковать. https://github.com/anboo/sms-gateway/blob/master/service/location_manager.go#L33 проверка l.mixmind != nil не имеет смысла, кмк. https://github.com/anboo/sms-gateway/blob/master/service/location_manager.go#L36 тут нужен логгер.

https://github.com/anboo/sms-gateway/blob/master/storage/sms_storage.go#L10 почему int, а не time.Time?

Danil-Andreyev Автор вопроса
Roman Timofeev
https://github.com/anboo/sms-gateway/blob/master/s...

А почему не имеет смысла? mixmind не может быть nil? Вроде может - https://play.golang.org/p/OdmfYs46-B6 Или о другом речь?

Danil Andreyev
А почему не имеет смысла? mixmind не может быть ni...

А, может, если mixmindDatabasePath == "", но я бы всю эту историю с geoip2.Open вынес в отдельный метод

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

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

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
Недавно Google Project Zero нашёл багу в SQLite с помощью LLM, о чём достаточно было шумно в определённых интернетах, которые сопровождались рассказами, что скоро всех "ибешни...
Alex Sherbakov
5
Ребят в СИ можно реализовать ООП?
Николай
33
Как передать управляющий символ в открытую через CreateProcess консоль? Собсна, есть процедура: procedure TRedirectThread.WriteData(Data: OEMString); var Written: Cardinal;...
Serjone
6
в JclConsole объявлено так: function CtrlHandler(CtrlType: DWORD): BOOL; stdcall; - где ваше объявление с stdcall? у вас на картинке нет stdcall
Karagy
8
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
~ 2m21s  nix shell github:nixos/nixpkgs#stack ~  stack ghc -- --version error: … while calling the 'derivationStrict' builtin at /builtin/derivation.nix:...
Rebuild your mind.
6
Карта сайта