История изменений
Исправление Deleted, (текущая версия) :
лямбда удобна для
context.call(() -> {...})
dbConnection.call(() -> {...})
и прочей мутотни с ресурсами, есть конечно `try with resources` - но он требует чтобы его не забыли и никто это не проверит, да и там надо полноценный объект реализующий closeable возвращать
а так например у меня есть объект прикрытый блокировками, чтобы не публиковать блокировку - я делаю
object.modify((builder) -> {builder.setProperty(val)})
внутри modify проверяю корректность и меняю объект, да еще после блокировки можно событие кинуть - и никаких шансов что-то забыть. Ну да в лямбде нельзя делать «долгие операции», ну так с блокировками всегда так
зы. чуть не забыл, еще паттерн visitor, выше в forEach - был каноничный пример со ссылками что он стоит гораздо дешевле модных итераторов
Исходная версия Deleted, :
лямбда удобна для
context.call(() -> {...})
dbConnection.call(() -> {...})
и прочей мутотни с ресурсами, есть конечно `try with resources` - но он требует чтобы его не забыли и никто это не проверит, да и там надо полноценный объект реализующий closeable возвращать
а так например у меня есть объект прикрытый блокировками, чтобы не публиковать блокировку - я делаю
object.modify((builder) -> {builder.setProperty(val)})
внутри modify проверяю корректность и меняю объект, да еще после блокировки можно событие кинуть - и никаких шансов что-то забыть. Ну да в лямбде нельзя делать «долгие операции», ну так с блокировками всегда так