Ilya
зачем, до конца непонятно
Ilya
я думал хотя бы в вопросе использовать DI или нет сообщество консистентно
Консистентно, конечно. Просто ты границы сообщества не там провёл.
Ilya
романа выносим за скобки?
А ты по какую сторону хочешь оказаться?
Tako
я за DI
Ilya
Тогда выноси, да.
Roman
@ilchert на всякий случай уточню, я имел ввиду, что IoC containers не нужны. Constructor Injection норм
Ilya
ты из тех, у кого особый путь)
Roman
о, ярлычки пошли
Ilya
о, ярлычки пошли
есть куча либ (асп, httpclientfactory...), которые ты скорее всего будешь юзать и страдать за сомнительный профит
Roman
так я ж писал выше, что там где контейнер прибит гвоздями, мы используем его. По крайней мере те его элементы, которые прибиты гвоздями
Roman
Но сами туда ничего не регистрируем
Vasily
Страдают обычно те, кому этот composition root поддерживать
Roman
Но мы вообще пишем на фшарпе — языке для белых господ, великом наречии, недоступном для простых гребцов
Ilya
имено композишена
Ayrat
у тебя есть НДА? можешь показать пример реального кода с 10-20 сервисами?
и чтобы все в одном конструкторе @atsapura иначе нещитово!!1
Ilya
потому что менеджить зависимости рутовые, скоуповые, тот ещё аттракцион
Ayrat
мб могу. Но сможешь ли ты прочесть фшарп?!111
учитывая что пронете он постоянно называет его эльфийским - сомневаюсь
Ilya
заставь меня страдать)
Vasily
Я так понимаю, с точки зрения Ильи функции, принимающие функции, не катят
Roman
ща, выложу, скину ссыль на онлифанс
Roman
так, возникли трудности, пушто у нас все на ажур функциях, и мы там руками ничего не создаем лол
Ilya
Ну всё понятно.
Roman
самое близкое, что есть — это в веб апп у нас есть тип AppEnv
Roman
Ну всё понятно.
ТЫ ЧО ПЕС Я ТЕ ЩА ХАТУ РАЗНЕСУ ОЛО
Ilya
*пытается прикрыться тестами без контейнеров*
Ilya
Хотя в петах я тоже не особо DI использую. если что!
Roman
@ilchert короч на днях я заварганю нормальный пример. Чтоб утереть нос вам всем раз и навсегда
Ilya
О, ещё один репозиторий можно будет в основном чате советовать как пример и триггерить дедушку.
Doge
ты из тех, у кого особый путь)
Зависимость от IoC контейнера - это именно асп.нет и спринговые проблемы. Ну и в больших проектах может иметь смысл. А так уже несколько лет пишу без них код (что на скале, что на том же расте) и как-то проблем в микросервисах от этого нет.
Doge
согласен, калькулятор на контейнерах - это слишком
Ну вопрос что считать калькулятором.
Doge
У меня где-то в 20к строк сервисы нормально без DI работают.
Ilya
Ну вопрос что считать калькулятором.
если у тебя всё начинается с DDD, то наверное это будет большой проект)
Ilya
У меня где-то в 20к строк сервисы нормально без DI работают.
весь бцл работает без иока, и он там не нужен
Kirill
хочется сделать какой-нибудь сервис с использованием https://github.com/CarterCommunity/Carter, без контейнера
Vasiliy
https://zenrus.ru/
Kirill
лучше яндекс дзена
Roman
весь бцл работает без иока, и он там не нужен
Не, речь именно про проекты, где есть ио. Ну там базы, апи строение, шины сообщений
Kirill
точки входа/выхода можно регистрировать в конетйнере, а логику уже без контейнеров, как вариант
Denis
Глаз радуется
Vasiliy
Глаз радуется
Ммм зп в валюте получаешь?)
Крылатый
Tako
Ммм зп в валюте получаешь?)
я щитаю в наше нестабильное время нужно только в валюте получать
Shub
https://discuss.ocaml.org/t/exception-vs-result/6931/36
Doge
Не жили богато — нехер начинать, да.
Я как-то не вижу смысла в IoC контейнере в небольших сервисах. Своя инфраструктурная цена у них точно будет (в особенности если мы про раст говорим), а пользы соразмерной этой цене может и не быть.
Shub
Вы начинаете двигать goalposts со своими «небольшими»
Shub
Сегодня он небольшой, а через полгода студия виснет
Shub
Все проекты начинаются с hello world, они все небольшие в таком понимании
Doge
Вы начинаете двигать goalposts со своими «небольшими»
Ну если ручное создание графа зависимостей растягивается (или есть ощутимые шансы, что оно таким станет) на некрасивую и здоровенную портянку кода под сотню строк - то вот наверное и пришло время IoC контейнер использовать. Ну и в аспнет экосистеме на IoC много чего завязано, поэтому там я особо не вижу смысла его не использовать, потому что против подхода экосистемы идти не очень удобно на практике.
Doge
Просто в том же расте каком-нибудь, если хочется IoC - то это либо дин трейты (что плохо на оптимизациях от компилятора скажется), либо дикие макросы, которые точно так же не самая удобная вещь. В скале картина примерно такая же, где единственный поддерживающий все скаловские типы и паттерны IoC - сам по себе является достаточно громоздкой штукой, которую для заведомо небольшого проекта тянуть не хочется.
IdiocyAcceptance
На самом деле тут не хватает наверное опыта работы с другими языками/экосистемами
IdiocyAcceptance
Язык формирует твоё мышление, а если экосистема в общем и целом одна - то сверху накладывается тоже
IdiocyAcceptance
Чтобы лучше понять как работать без DI, стоит просто поковырять системы без DI в принципе
Ilya
Без стандартного контейнера никуда - даже http запрос нормально не сделать
Doge
Как бы я не против их принципиально, мне просто кажется. что на данный момент баланс цена/польза в небольших проектах может быть не в пользу существуютщих IoC контейнеров
Shub
Ну если там изобретут удобный к использованию IoC контейнер без особой инфраструктурной цены, то я бы его и взял бы с удовольствием.
Что как бы говорит нам, что дело не в принципе, а в эргономике [не-]существующих решений на сегодняшний день. Тогда как товарищ выше пытается опротестовать идею на концептуальном уровне
Doge
Что как бы говорит нам, что дело не в принципе, а в эргономике [не-]существующих решений на сегодняшний день. Тогда как товарищ выше пытается опротестовать идею на концептуальном уровне
Ну я даже не прям уверен, что дело тут в принципе (или я просто читал обсуждение не тем местом). @atsapura А, например, compile-time IoC контейнер тебя устраивает в принципе?
Anatoly
Ты стараешься!
Я пишу new http client и вперёд
Ilya
Я пишу new http client и вперёд
А как же полли, логирование, кеширование соединений?
Anatoly
Ilya
Нахер это всё надо в хеллоу ворлде?
Дак мы уже определились, что речь о серьезных продуктах
Anatoly
Плюс, у меня вот живой пример в проде, откуда мы полли выпиливали, потому что оно только хуже делало