Size: a a a

2021 March 05

I

Ivan in pro.jvm
если задача убрать только километровый иф, можно изи воспользоватся рефлекшеном (вызывать методы process1, process2...processN ), это всё равно убого, но без if во всяком :D
источник

D

Dima in pro.jvm
можно же использовать мапу
источник

D

Dima in pro.jvm
и функциональные интерфейсы
источник

СХ

Сергей Хвостюк... in pro.jvm
А чем вообще идея стратегий не понравилась, если if не устаивают?
источник

SI

Sagid Irkkuev in pro.jvm
Yuri M
Если в скобках много всего — HashMap со с кодами и значения-стратегии для обработки сценариев
Рассмотрю.
источник

VS

Vladimir S in pro.jvm
Sagid Irkkuev
Ребята, Чем заменять такой код?

if getStatus == 0 {...}
else if getStatus == 1 {...}

и так до 100..

Есть хорошее решение?
LinkedHashmap<Integer,Consumer> m;
Заполни её нужными консюмерами или runnable
Потом
m.get(I)....
источник

VP

Vladimir Petrakovich in pro.jvm
Ivan
если задача убрать только километровый иф, можно изи воспользоватся рефлекшеном (вызывать методы process1, process2...processN ), это всё равно убого, но без if во всяком :D
Ух какая наркомания на ровном месте
источник

SI

Sagid Irkkuev in pro.jvm
Vladimir S
LinkedHashmap<Integer,Consumer> m;
Заполни её нужными консюмерами или runnable
Потом
m.get(I)....
Хорошо, рассмотрю.
источник

SI

Sagid Irkkuev in pro.jvm
Еще нашёл как вариант, в видео Spring patterns Борисова, он там какой паттерн использует, заменяет  switch, так же рассмотрю сейчас.

44:00min
источник

VG

Vladislav Gerasimov in pro.jvm
Sagid Irkkuev
Еще нашёл как вариант, в видео Spring patterns Борисова, он там какой паттерн использует, заменяет  switch, так же рассмотрю сейчас.

44:00min
Тоже мапу создаёт
источник

SI

Sagid Irkkuev in pro.jvm
Vladislav Gerasimov
Тоже мапу создаёт
+
источник

YM

Yuri M in pro.jvm
Я бы руками создал.

Там ключи это имена бинов.
Если в вашем приложении ‘такой’ подход популярен, то у вас легко может получиться пересечение по имени бина ‘0’ в контексте
источник

SI

Sagid Irkkuev in pro.jvm
Ivan
зависит от того какие сценарии обработки
Это да.
источник

SI

Sagid Irkkuev in pro.jvm
Yuri M
Я бы руками создал.

Там ключи это имена бинов.
Если в вашем приложении ‘такой’ подход популярен, то у вас легко может получиться пересечение по имени бина ‘0’ в контексте
Понял
источник

VG

Vladislav Gerasimov in pro.jvm
Yuri M
Я бы руками создал.

Там ключи это имена бинов.
Если в вашем приложении ‘такой’ подход популярен, то у вас легко может получиться пересечение по имени бина ‘0’ в контексте
Если чуть дальше видео посмотреть, то предложение в интерфейсе сделать метод, возвращающий тип. В реализациях каждый класс уже вернёт свой тип. А далее через заинжектят лист бинов в вызывающий класс и создадут мапу по их коду. Тогда и код будет использоваться вместо ид бина, и автоматическое создание будет
источник

I

Ivan in pro.jvm
Vladimir Petrakovich
Ух какая наркомания на ровном месте
совершенно согласен, однако, тут речь изначально о не меньшей наркомании
источник

А

Алексей in pro.jvm
Sagid Irkkuev
Всякое бывает, 100 switch, это много...
Как и 100 ифов или 100 интерфейсов в мапе. Сам факт такой задачи странен. Поэтому я спросил что там внутри ифов. Неужели нельзя это иначе переписать? Или там в каждом ифе уникальный код?
источник

II

Ivan Ivanov in pro.jvm
Всем привет!
У кого-нибудь есть опыт верифицировать вызовы протектед методов?
Что-то вроде: verify(someObjMock, times(2)).protectedMethod(any(), any());
Поделитесь опытом
источник

O

OxFAB in pro.jvm
Ivan Ivanov
Всем привет!
У кого-нибудь есть опыт верифицировать вызовы протектед методов?
Что-то вроде: verify(someObjMock, times(2)).protectedMethod(any(), any());
Поделитесь опытом
А зачем?
источник

SI

Sagid Irkkuev in pro.jvm
Алексей
Как и 100 ифов или 100 интерфейсов в мапе. Сам факт такой задачи странен. Поэтому я спросил что там внутри ифов. Неужели нельзя это иначе переписать? Или там в каждом ифе уникальный код?
В каждом if уникальный код.
источник