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

Добрый день! Наткнулся вот на такой В\О на стаковерфлоу: https://stackoverflow.com/questions/74239905/the-reader-monad-for-dependency-injection И это вызвало

вопрос: до какой степени я могу использовать мой опыт из хаскеля в скале, если я пишу на тайплевел стаке?

14 ответов

36 просмотров

Ридер действительно не очень нужен имхо. Пишу много лет на скале и ни разу не использовал. Наверняка сейчас кто-то придет и приведет пример, когда ридер полезен. Но в качестве rule of thumb - можно ридер игнорировать. DI с помощью объектов и конструкторов реально очень мощная и удобная вещь. Когда пишешь на яве/скале - воспринимаешь как данность. Но начинаешь ценить после того как покодил на языке без них

Evgenii Kuznetcov
Ридер действительно не очень нужен имхо. Пишу мног...

Не сказал бы что явисты ценят DI с помощью объектов и конструкторов

ⰽⱁⱅⱏ ⰿⰵⰶⰴⱆⱄⰾⱁⰲⱑⱀⱐⱄⰽⱏ
Конструктор предпочтительнее, чем автовайред

у вас тоже конструкторы? просто это обычно маргинальная идея в жава-комунити

Deλ✨
у вас тоже конструкторы? просто это обычно маргина...

Не маргинальная. Автовайред последний раз видел лет 6 назад

ⰽⱁⱅⱏ ⰿⰵⰶⰴⱆⱄⰾⱁⰲⱑⱀⱐⱄⰽⱏ
Не маргинальная. Автовайред последний раз видел ле...

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

Deλ✨
теперь понял, инжект в поле хуже чем конструктор, ...

Ну вайрит спринг конечно. А сами зависимости все с иммутабельными пропертями и конструкторами

Bohdan- Автор вопроса
Evgenii Kuznetcov
Ридер действительно не очень нужен имхо. Пишу мног...

Спору нет, но как я понял там речь ишла не только о ридере а в целом о навороченых штуках. Нормальная тема в хаскеле для какого то сложного домена\задачи из трансформеров создавать свою систему эффектов, и там неизбежно приходишь к тому что так или иначе там заваляется парочка трансформеров в т.ч и ридер.

Bohdan- Автор вопроса
Deλ✨
у вас тоже конструкторы? просто это обычно маргина...

В дотнете и в angular/(typescript + inversify) такие же пироги. Только в дотнете комьюнити преследует какой то пуризм, из за чего из коробки нету автовайринга из класспаса как в джава. Хочешь автовайринг - делай сам.

Bohdan
В дотнете и в angular/(typescript + inversify) та...

что такое автоварийнг из класпаса?

Bohdan- Автор вопроса
Deλ✨
что такое автоварийнг из класпаса?

За тебя спринг автоматически регистрирует все классы помеченные как @service/@component/@controller ... В дотнете тебе нужно в Program.cs руками писать: builder.services.AddTransient<IAbstraction, Realization> ();

Bohdan
За тебя спринг автоматически регистрирует все клас...

У спринга чтобы это работало всегда и случайно не притащилась не та зависимость нужно дополнительно строками размечать. Какой плюс у такого вайринга относительно конструкторов не понятно.

Когда-то ZIO[R, E, A] можно было рассматривать как ридер отнисительно R с соответствующим DI через ридер. Но сейас все поменялось, после отказа от Has. Да и принято сейчас в ZIO через конструкторы внедрять автоматически через ZLayer.

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

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

Господа, а что сейчас вообще с рынком труда на делфи происходит? Какова ситуация?
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
Карта сайта