Size: a a a

2020 April 13

AS

Andrei 🦉 Sergeev in Go-go!
Мимо Проходящий
одну глоб. переменная с конекшеном к бд - меньше кода чем нежели создавать db в main-е и передавать в каждую функцию, обращающуюся к бд. Соответственно в данном случае это лучше. Вроде всё просто
глобальные переменные лучше, чем явное прокидывание зависимостей

ок 👍
источник

E

Evgeniy in Go-go!
Мимо Проходящий
одну глоб. переменная с конекшеном к бд - меньше кода чем нежели создавать db в main-е и передавать в каждую функцию, обращающуюся к бд. Соответственно в данном случае это лучше. Вроде всё просто
Спасибо
источник

а

а кто это in Go-go!
Мимо Проходящий
одну глоб. переменная с конекшеном к бд - меньше кода чем нежели создавать db в main-е и передавать в каждую функцию, обращающуюся к бд. Соответственно в данном случае это лучше. Вроде всё просто
type MyController struct {
   db *sql.DB
}

func NewMyController(db *sql.DB)  *MyController {
    return &MyController{db:db}
}
ого целая одна функция
источник

МП

Мимо Проходящий... in Go-go!
а кто это
type MyController struct {
   db *sql.DB
}

func NewMyController(db *sql.DB)  *MyController {
    return &MyController{db:db}
}
ого целая одна функция
не понятно що таки вы хотите этим сказать
источник

а

а кто это in Go-go!
Мимо Проходящий
не понятно що таки вы хотите этим сказать
что я не понимаю, зачем так хоть когда-нибудь делать
https://t.me/gogolang/417612
источник

а

а кто это in Go-go!
или создавать какие-то глобальные переменные
источник

s

stixlink in Go-go!
А пробуйте замокать db в юнит тесте, когда она глобальная. Не особо то удобно
источник

ЛА

Локоть Анатолий... in Go-go!
Мимо Проходящий
одну глоб. переменная с конекшеном к бд - меньше кода чем нежели создавать db в main-е и передавать в каждую функцию, обращающуюся к бд. Соответственно в данном случае это лучше. Вроде всё просто
Dependency injection container в помощь. И без глобальных переменных и все в одном экземпляре (ну или как реализуем инстанцирование той или иной зависимости), куча бонусов сверху, такие как вызов любого кода с каждым инстансом при завершении программы, итерирование зависимостей.
источник

а

а кто это in Go-go!
это ведь может быть не единственная зависимость
источник

МП

Мимо Проходящий... in Go-go!
а кто это
что я не понимаю, зачем так хоть когда-нибудь делать
https://t.me/gogolang/417612
использовать db или объект со ссылкой на db - это зависит от задачи, в целом это сейчас пофигу для человека, который спросил
источник

ЕО

Евгений Омельченко... in Go-go!
Если прям так тяжко тащить db руками, то DI для этого придуман
источник

x

x-foby in Go-go!
а кто это
что я не понимаю, зачем так хоть когда-нибудь делать
https://t.me/gogolang/417612
Потому что сравнения хороши в малом.
Сравнить глобальную переменную с репозиториями/контроллерами и кучей реализаций — это такое себе.
А сравнить её с явной передачей зависимости — это доступно и понятно.

Хотя, как оказалось, не всем.
источник

AK

Anton Kucherov in Go-go!
Там где одна глобальная переменная там и 50 пакетов, каждый со своим стейтом...
источник

AK

Anton Kucherov in Go-go!
Нет ничего постояннее временного.
источник

МП

Мимо Проходящий... in Go-go!
Когда мне начинают впаривать DI на пустом месте, хочется схватьть ссаную тряпку и отстегать
источник

ЛА

Локоть Анатолий... in Go-go!
Локоть Анатолий
Dependency injection container в помощь. И без глобальных переменных и все в одном экземпляре (ну или как реализуем инстанцирование той или иной зависимости), куча бонусов сверху, такие как вызов любого кода с каждым инстансом при завершении программы, итерирование зависимостей.
источник

AK

Anton Kucherov in Go-go!
Но поддерживать это ведь будут уже другие люди, поэтому: И так сойдет (с)
источник

A

Aleksandr in Go-go!
я вот тоже крайне не люблю DI во всех на моей памяти случаях
источник

AK

Anton Kucherov in Go-go!
Мимо Проходящий
Когда мне начинают впаривать DI на пустом месте, хочется схватьть ссаную тряпку и отстегать
А каковы критерии «пустого места». DI даже в стандартной библиотеке сплошь и рядом.
источник

АП

Александр Попов... in Go-go!
где это вы видели DI в стандартной библиотеке?
источник