Приветствую читателей моего бложика в очередной раз и спешу поделиться отзывом на только что прочитанную книжку про наверняка главную фичу в вышедшей год назад Java 8 - лямбды и многое, что с ними связано.
Почему я не занялся изучением этого раньше? Ну, на многих конференциях в преддверии выхода Java 8 были доклады про лямбды от товарищей из Oracle и смысл в общем был понятен. Но ничто так не мотивирует разобраться в теме, как переход продакшена на эти новые рельсы :-)
Эта небольшая книга (чуть больше 150 страниц) оказалась очень удачным вариантом, чтобы по-быстрому разобраться в финальной версии языка, вкурить на примерах и с картинками все эти функции высших порядков с привязкой к классам реализации и обязательно попрактиковаться так, чтобы всё запомнить, и без излишних углублений в детали.
Возможно, данная книга - это идеальное сочетание объёма, доступности изложения и полноты охвата для тех, кто знает Java 5-7 и хочет начать хотя бы избавляться от анонимных классов, шаблонных и многословных конструкций, которые встречаются весьма часто и заменять их ёмкими по смыслу декларативными лямбдами. Лично я уже на практике оценил полезность использования java.util.Optional при разработке API :-)
В книге вы узнаете:
Почему я не занялся изучением этого раньше? Ну, на многих конференциях в преддверии выхода Java 8 были доклады про лямбды от товарищей из Oracle и смысл в общем был понятен. Но ничто так не мотивирует разобраться в теме, как переход продакшена на эти новые рельсы :-)
Эта небольшая книга (чуть больше 150 страниц) оказалась очень удачным вариантом, чтобы по-быстрому разобраться в финальной версии языка, вкурить на примерах и с картинками все эти функции высших порядков с привязкой к классам реализации и обязательно попрактиковаться так, чтобы всё запомнить, и без излишних углублений в детали.
Возможно, данная книга - это идеальное сочетание объёма, доступности изложения и полноты охвата для тех, кто знает Java 5-7 и хочет начать хотя бы избавляться от анонимных классов, шаблонных и многословных конструкций, которые встречаются весьма часто и заменять их ёмкими по смыслу декларативными лямбдами. Лично я уже на практике оценил полезность использования java.util.Optional при разработке API :-)
В книге вы узнаете:
- Что даёт нам введение функциональщины в Java и как мы можем выполнять привычные для нас операции в функциональном стиле.
- Познакомитесь с основными новыми функциональными интерфейсами и их применениями для нового способа работы с коллекциями - стримами (потоками данных).
- О method reference, как замене лямбд-выражений.
- Зачем добавили default и static methods в интерфейсы и как они упростили эволюцию в том числе стандартных интерфейсов (да, теперь все реализации java.util.List имеют метод sort, а потомки java.lang.Iterable - forEach ).
- Как изменяются подходы в тестировании и отладке кода, использующий лямбды
- Как начать эволюцию своего кода и проводить рефакторинг для постепенного перехода в декларативный мир.
- Как упрощается код некоторых стандартных design patterns и как лямбды форсируют в вашем коде SOLID принципы проектирования.
- Как лямбды помогают с помощью CompletableFuture создавать ещё более производительные приложения.
- Как можно построить ёмкий DSL на лямбдах.
В общем, книга явно писалась для практикующих Java разработчиков, которым необходим быстрый экскурс в новые и прикольные фичи и с максимальной отдачей.
В книге после каждой главы есть небольшие квизы (с ответами на GitHub) для проверки теории и практического закрепления полученных знаний.
Заменяет ли книга документацию? Нет. Стримы и операции с ними разобраны достаточно подробно, чего не скажешь о CompletableFuture (об этом только основы). Но как первая книжка по этим темам вполне пойдёт. В интернете, конечно, есть гайды по этим темам, но целостной картины они как-то не составляют, а вот такая брошюрка с этим справилась на ура.
Для более детального осмотра этих и других нововведений (типа нового API для работы с датами и добавками в существующие классы) наверно стоит почитать книгу "Java 8 in Action" на 500 страниц :-)
В общем, вот такая полезная и небольшая книжка для тех, кто хочет очистить свой код и может пересмотреть некоторые подходы в программировании, чтобы повысить свою эффективность и читабельность своего кода.
Комментариев нет:
Отправить комментарий