515

Волна взаимопомощи (java)1

Долго читаю, но на волне взаимопомощи решил зарегистрироваться. Работаю java разработчиком, могу помочь разъяснить какую-нибудь тему или помочь понять куда двигаться по обучению, поревьюить код или просто как-то пообщаться вживую если потребуется

Помощники

236 постов785 подписчиков

Правила сообщества

Нельзя обсуждать Политику.
Ругаться и оскорблять.

Вы смотрите срез комментариев. Показать все
1
DELETED
Автор поста оценил этот комментарий

Го попиздим холивар я создал)) параметры передаются по ссылке или значению? Разница ioc и di? Лучше сетить через сетеры или конструктор? xD

раскрыть ветку (23)
2
Автор поста оценил этот комментарий

Вот за сеттеры можно и ноги сломать

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

:D

0
Автор поста оценил этот комментарий

По значению

Di есть частный случай IOC

Через конструктор (проще понять когда зависимостей становится много и нужно разбивать класс, меньше уродливых сеттеров), но сеттеры необходимы чтобы резолвить кейсы с циклическими зависимостями :)

раскрыть ветку (20)
1
Автор поста оценил этот комментарий

А можно пояснить для маленьких?

Я дума при передаче в параметр метода объекта, мы же просто передаём ссылку на него в хипе?

Только примитивы передаются по значению

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Передача по значению это копирование значения внутрь аргумента метода. Ссылка на объект внутри метода тоже копируется.


Нашел для вас статью на хабре:

https://habr.com/ru/company/otus/blog/551026/

раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Почитал, статью стоит открыть только ради комментария:


Псевдокод

doSomething(int value) {

value = 321;

}

value = 123;

println(value);

doSomething(value);

println(value);


Если значение в функцию doSomething() будет передаваться по ссылке, то вывод будет следующим

123

321

0
DELETED
Автор поста оценил этот комментарий

>По значению


А ты хитер))

раскрыть ветку (4)
0
Автор поста оценил этот комментарий

Вообще можно начать вбрасывать с тем аля "табы или спейсы" :)

Иллюстрация к комментарию
раскрыть ветку (3)
1
DELETED
Автор поста оценил этот комментарий

Ctrl+alt+L+O

🤣

раскрыть ветку (2)
0
Автор поста оценил этот комментарий

Атата, кто форматтер не настроил? Теперь на пулреквесте десять тысяч измененных строк!

раскрыть ветку (1)
0
DELETED
Автор поста оценил этот комментарий

И такое бывало да :)

0
Автор поста оценил этот комментарий
По поводу ioc и di это не частный случай, это разные сущности. Ioc это принцип, а di это реализация ioc
раскрыть ветку (5)
0
Автор поста оценил этот комментарий

Частным случаем является состояние когда сущность принадлежит родителю в одностороннем порядке.


IoC принцип и DI принцип реализующий IoC. Обратное не верно. В чем ошибка? DI тоже является принципом и не завязан на конкретной реализации

раскрыть ветку (4)
0
Автор поста оценил этот комментарий
Может и так. но мне кажется, что говорить о том , что di это частный случай ioc тоже самое что сказать «класс расширяющий абстрактный класс является частным случаем абстрактного класс»
раскрыть ветку (3)
1
Автор поста оценил этот комментарий
Ну вообще так и есть. (Если не считать что абстрактный класс нельзя инстанцировать независимо)
0
Автор поста оценил этот комментарий

Здесь скорей как List и Set является частным случаем Collection/Iterable, они выполняют те же самые контракты

0
вообще Javaнутый
Автор поста оценил этот комментарий

DI - это один из способов реализации IoC. IoC можно реализовать через локатор служб или просто через фабрику, например

0
Автор поста оценил этот комментарий

А не надо доводить код до циклических зависимостей))

раскрыть ветку (5)
0
Автор поста оценил этот комментарий

Да, это крайне желательно, но не всегда возможно, особенно если вам очень хочется применять рекурсию :)

раскрыть ветку (4)
0
Автор поста оценил этот комментарий
Рекурсию из контейнера? Вы там совсем ебобо? 🤣
раскрыть ветку (3)
0
Автор поста оценил этот комментарий

Вполне валидный кейс, например посмотрите на chain-of-responsibility в javax-ных фильтрах. Каждый фильтр находится в контейнере, при этом в каждый из них инжектится фильтр чейн который их хранит.


При этом упрощенный стек выглядит как doFilter()[чейн]->doFilter()[фильтр]->doFilter()[чейн]->doFilter()[фильтр] и.т.п.

раскрыть ветку (2)
0
Автор поста оценил этот комментарий
Но при этом у чейнов есть четкий ордеринг, который как бы «намекает» что цепочка должна быть конечной и (очень желательно) линейной.
Кстати сингл респонсобилити говорит что фильтр должен решать только одну задачу (делегирование фильтров выглядит как suck’s)
раскрыть ветку (1)
0
Автор поста оценил этот комментарий

Тем не менее он рекурсивный (не помню как чейн оф респонсибилити в MVC/security, есть большая вероятность что точно так же, т.к. добавлять следующий степ в фильтр является еще большим нарушением сингл респонсибилити (помимо основной логики добавляется захардкоженное знание о след. степе).


Никто не говорил о бесконечных рекурсиях, но время от времени это валидный кейс :)

Вы смотрите срез комментариев. Чтобы написать комментарий, перейдите к общему списку

Темы

Политика

Теги

Популярные авторы

Сообщества

18+

Теги

Популярные авторы

Сообщества

Игры

Теги

Популярные авторы

Сообщества

Юмор

Теги

Популярные авторы

Сообщества

Отношения

Теги

Популярные авторы

Сообщества

Здоровье

Теги

Популярные авторы

Сообщества

Путешествия

Теги

Популярные авторы

Сообщества

Спорт

Теги

Популярные авторы

Сообщества

Хобби

Теги

Популярные авторы

Сообщества

Сервис

Теги

Популярные авторы

Сообщества

Природа

Теги

Популярные авторы

Сообщества

Бизнес

Теги

Популярные авторы

Сообщества

Транспорт

Теги

Популярные авторы

Сообщества

Общение

Теги

Популярные авторы

Сообщества

Юриспруденция

Теги

Популярные авторы

Сообщества

Наука

Теги

Популярные авторы

Сообщества

IT

Теги

Популярные авторы

Сообщества

Животные

Теги

Популярные авторы

Сообщества

Кино и сериалы

Теги

Популярные авторы

Сообщества

Экономика

Теги

Популярные авторы

Сообщества

Кулинария

Теги

Популярные авторы

Сообщества

История

Теги

Популярные авторы

Сообщества