у меня тут спор с коллегой произошел. Скажите, это нормально хранить контекст, БД, клиенты и вообще разные структуры внутри для исполнения сложных расчетов? Цель - не перегружать методы бесконечным набором параметров, потому это все хранится внутри. С его слов это антипаттерн, я не согласен Это выглядит примерно так:
c.db.Select(c.ctx, c.db) - вот это вообще удивляет, если есть соединение с бд, зачем оно должно принимать параметром бд с которым держит уже соединение?
можно попробовать (я хотел избежать calculate(ctx, db, data1, data2, data3, …) и сделать, по крайней мере, `calculate(data1, data2, data3, …)`). Потому и спрсоил, если это плорхо, то надо будет исправить
Всем привет. Я только начинающий разработчик и еще учусь. Но у меня при компиляции получаются такие ошибки (проблема с импортами и отрпвка пост запроса). Прописывал func.URL но все равно такая же проблема. Помогите пожалуйста!) Заранее спасибо))
Чтобы так не было надо структуру сделать приватной, сделать интерфейс для калькулятора и из фабрики возвращать интерфейс
да… верно, сейчас я все делаю через фабрику:) но тут другой вопрос - сокрытие клиентов внутри самой структуры(в моем случае коллега очень был не доволен использованием контекста не в виде параметра функции). Тут более аккуратный и осмысленный пример): https://goplay.space/#gPshfPs4gQ0
у меня тут спор с коллегой произошел. Скажите, это нормально хранить контекст, БД, клиенты и вообще разные структуры внутри для исполнения сложных расчетов? Цель - не перегружать методы бесконечным набором параметров, потому это все хранится внутри. С его слов это антипаттерн, я не согласен Это выглядит примерно так:
контекст всегда передается в функцию первым аргументом
Вообще логично было бы контекст передавать в каждую функцию т.к. инстанс калькулятора мы делаем один раз и дальше вызываем где нужно с нужным контекстом, если я все правильно понимаю
Всем привет. Я только начинающий разработчик и еще учусь. Но у меня при компиляции получаются такие ошибки (проблема с импортами и отрпвка пост запроса). Прописывал func.URL но все равно такая же проблема. Помогите пожалуйста!) Заранее спасибо))
- “io/ioutil” импортирован но не используется (так в go нельзя, и переменные тоже нельзя обьявлять и не использовать - пакет “url” не ипортирован - неправильно передаете параметры в метод http.PostFrom, в данном слуачае слишком много параметров