Начать новую тему Ответить на тему
Статистика раздачи
Размер: 11.87 МБ | | Скачали: 236
Сидеров: 49  [0 байт/сек]    Личеров: 16  [0 байт/сек]
Пред. тема | След. тема 

Автор
Сообщение

Ответить с цитатой 

Java 8 Lambdas: Functional Programming for the Masses / Лямбда-выражения в Java 8

Год издания: 2014
Автор: Ричард Уорбэртон
Переводчик: А. А. Слинкин
Жанр или тематика: Программирование, Java

Издательство: ДМК Пресс
ISBN: 978-5-94074-919-6
Серия: Функциональное программирование
Язык: Русский

Формат: PDF
Качество: Издательский макет или текст (eBook)
Количество страниц: 194

Описание: Если вы имеете опыт работы с Java SE, то из этой книги узнаете об изменениях в версии Java 8, обусловленных появлением в языке лямбда-выражений. Вашему вниманию будут представлены примеры кода, упражнения и увлекательные объяснения того, как можно использовать эти анонимные функции, чтобы сделать код проще и чище, и как библиотеки помогают в решении прикладных задач.

Лямбда-выражения – относительно простое изменение в языке Java; в первой части книги показано, как правильно ими пользоваться. В последующих главах демонстрируется, как лямбда-выражения позволяют повысить производительность программы за счет распараллеливания, писать более простой конкурентный код и точнее моделировать предметную область, в том числе создавать более качественные предметно-ориентированные языки.

Издание предназначено для программистов разной квалификации, как правило уже работающих с Java, но не имеющих опыта функционального программирования.
Об авторе ............................................................................................................9
Предисловие..................................................................................................10

Глава 1. Введение ......................................................................................16
Зачем понадобилось снова изменять Java? ................................................16
Что такое функциональное программирование? ....................................18
Пример предметной области ...........................................................................18

Глава 2. Лямбда-выражения ............................................................20
Наше первое лямбда-выражение ...................................................................20
Как опознать лямбда-выражение ..................................................................21
Использование значений .................................................................................23
Функциональные интерфейсы .......................................................................24
Выведение типов .................................................................................................26
Основные моменты ............................................................................................29
Упражнения ..........................................................................................................29

Глава 3. Потоки ............................................................................................31
От внешнего итерирования к внутреннему ...............................................31
Что происходит на самом деле .......................................................................34
Наиболее распространенные потоковые операции ................................36
collect(toList()) .............................................................................................36
map ....................................................................................................................37
filter ...................................................................................................................38
flatMap .............................................................................................................39
max и min ........................................................................................................40
Проявляется общий принцип .................................................................41
reduce ...............................................................................................................43
Объединение операций .............................................................................44
Рефакторинг унаследованного кода .............................................................46
Несколько потоковых вызовов ......................................................................49
Функции высшего порядка .............................................................................50
Полезное применение лямбда-выражений ................................................51
Основные моменты ............................................................................................52
Упражнения ..........................................................................................................53
Упражнения повышенной сложности .........................................................54

Глава 4. Библиотеки ................................................................................55
Использование лямбда-выражений в программе ....................................55
Примитивы ............................................................................................................57
Разрешение перегрузки ....................................................................................59
Аннотация @FunctionalInterface ...................................................................61
Двоичная совместимость интерфейсов .......................................................62
Методы по умолчанию ......................................................................................63
Методы по умолчанию и наследование ...............................................64
Множественное наследование ........................................................................67
Три правила ...................................................................................................68
Компромиссы .......................................................................................................69
Статические методы в интерфейсах .............................................................70
Тип Optional ..........................................................................................................70
Основные моменты ............................................................................................72
Упражнения ..........................................................................................................72
Задача для исследования..................................................................................74

Глава 5. Еще о коллекциях и коллекторах ............................75
Ссылки на методы...............................................................................................75
Упорядочение элементов ..................................................................................76
Знакомство с интерфейсом Collector ...........................................................78
Порождение других коллекций ..............................................................79
Порождение других значений .................................................................80
Разбиение данных .......................................................................................81
Группировка данных ...................................................................................82
Строки .............................................................................................................83
Композиция коллекторов .........................................................................84
Рефакторинг и пользовательские коллекторы .................................86
Редукция как коллектор ...........................................................................94
Усовершенствование интерфейса коллекций ...........................................95
Основные моменты ............................................................................................96
Упражнения ..........................................................................................................97

Глава 6. Параллелизм по данным ................................................98
Параллелизм и конкурентность .....................................................................98
Почему параллелизм важен? ....................................................................... 100
Параллельные потоковые операции.......................................................... 101
Моделирование ................................................................................................. 102
Подводные камни............................................................................................. 106
Производительность ....................................................................................... 107
Параллельные операции с массивами ...................................................... 110
Основные моменты ......................................................................................... 112
Упражнения ....................................................................................................... 113

Глава 7. Тестирование, отладка и рефакторинг ........... 114
Когда разумно перерабатывать код с использованием
лямбда-выражений .......................................................................................... 114
Инкапсуляция внутреннего состояния ............................................ 115
Переопределение единственного метода ......................................... 116
Поведенческий паттерн «пиши все дважды».................................. 117
Автономное тестирование лямбда-выражений ..................................... 120
Использование лямбда-выражений в тестовых двойниках .............. 123
Отложенное вычисление и отладка ........................................................... 125
Протоколирование и печать ......................................................................... 125
Решение: метод peek ........................................................................................ 126
Точки останова в середине потока ............................................................. 127
Основные моменты ......................................................................................... 127

Глава 8. Проектирование и архитектурные
принципы ....................................................................................................... 128
Паттерны проектирования и лямбда-выражения ................................ 129
Паттерн Команда ...................................................................................... 130
Паттерн Стратегия ................................................................................... 133
Паттерн Наблюдатель ............................................................................. 136
Паттерн Шаблонный метод .................................................................. 139
Предметно-ориентированные языки с поддержкой
лямбда-выражений .......................................................................................... 143
Предметно-ориентированный язык на Java .................................... 144
Как это делается ........................................................................................ 145
Оценка .......................................................................................................... 148
Принципы SOLID и лямбда-выражения................................................. 148
Принцип единственной обязанности ................................................ 149
Принцип открытости-закрытости ...................................................... 152
Принцип инверсии зависимости......................................................... 155
Что еще почитать ............................................................................................. 159
Основные моменты ......................................................................................... 160

Глава 9. Конкурентное программирование
и лямбда-выражения ........................................................................... 161
Зачем нужен неблокирующий ввод-вывод? ........................................... 161
Обратные вызовы ............................................................................................. 162
Архитектуры на основе передачи сообщений ........................................ 167
Пирамида судьбы ............................................................................................. 168
Будущие результаты ....................................................................................... 171
Завершаемые будущие результаты ............................................................ 173
Реактивное программирование ................................................................... 177
Когда и где .......................................................................................................... 180
Основные моменты ......................................................................................... 181
Упражнения ....................................................................................................... 181

Глава 10. Что дальше? ........................................................................ 183
Правила, инструкции, FAQ!!!
Торрент   Скачать торрент Магнет ссылка
Скачать торрент
[ Размер 4.26 КБ / Просмотров 195 ]

Статус
Проверен 
 
Размер  11.87 МБ
Приватный: Нет (DHT включён)
.torrent скачан  236
Как залить торрент? | Как скачать Torrent? | Ошибка в торренте? Качайте магнет  


     Отправить личное сообщение
   
Страница 1 из 1
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему


Сейчас эту тему просматривают: нет зарегистрированных пользователей и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Перейти:  
Ресурс не предоставляет электронные версии произведений, а занимается лишь коллекционированием и каталогизацией ссылок, присылаемых и публикуемых на форуме нашими читателями. Если вы являетесь правообладателем какого-либо представленного материала и не желаете чтобы ссылка на него находилась в нашем каталоге, свяжитесь с нами и мы незамедлительно удалим её. Файлы для обмена на трекере предоставлены пользователями сайта, и администрация не несёт ответственности за их содержание. Просьба не заливать файлы, защищенные авторскими правами, а также файлы нелегального содержания!