Ваш город
Москва
Ваш город Москва?
+7 928 117-10-37
Отдел продаж
Режим работы:
Пн-Сб 10:00—18:00;
Вс выходной
КАТАЛОГ ТОВАРОВ
0КорзинаПусто0 руб.
Товары в корзине
корзина пуста
КАТАЛОГ ТОВАРОВ
Корзина пуста0 руб.0
Товары в корзине
корзина пуста
Корзина пуста0 руб.0
Товары в корзине
корзина пуста

Элегантные объекты. Java Edition

Элегантные объекты. Java Edition
Эта книга всерьез пересматривает суть и принципы объектно-ориентированного программирования (ООП) и может быть метафорически названа "ООП Лобачевского". Автор книги, разработчик с 20-летним стажем, критически анализирует догмы ООП и предлагает взглянуть на эту парадигму совершенно по-новому...
Характеристики
Автор(ы):
Егор Бугаенко
Издательство:
Питер
Год издания:
2018
Кол-во страниц:
224
Переплёт:
Мягкий
Смотреть все
Категории
Получение информации о методах доставки
Код: 18021
Нет в наличии
855
Количество:
Избранное
Сравнение
Описание

Эта книга всерьез пересматривает суть и принципы объектно-ориентированного программирования (ООП) и может быть метафорически названа "ООП Лобачевского". Автор книги, разработчик с 20-летним стажем, критически анализирует догмы ООП и предлагает взглянуть на эту парадигму совершенно по-новому. Так, он клеймит статические методы, геттеры, сеттеры, изменяемые методы, считая, что это - зло. Для начинающего программиста этот томик может стать просветлением или шоком, а для опытного является обязательным чтением.

Несмотря на все спорные моменты, которые поодиночке могут вызвать у читателя всплеск негодования, надо обратить внимание на то, что эти идеи образуют систему. Систему, в которую автор верит. Он убежден, что, следуя принципам, которые изложены здесь, мы сможем писать более поддерживаемый код. Поддерживаемость программ и есть главная цель этой системы. Должен сказать, автор скорее убедил меня в своих идеях, чем нет. Поэтому считаю, что данную книгу можно внести в список рекомендованных к прочтению для специалистов, которые заботятся о своем профессиональном развитии.
Антон Архипов, Java Champion

Об авторе:
Егор Бугаенко — основатель и CEO компании Zerocracy, разрабатывающей AI-роботов; ООП-фундаменталист.
Автор серии книг об объектно-ориентированном программировании; провокационный блогер на yegor256.com; пишущий Лауа-программист. Известен также созданием Cactoos, Takes Framework, JCabi и Rultor.
Егор — филантроп, ежегодно жертвующий несколько тысяч долларов номинантам его собственной премии за самый качественный программный проект.

Характеристики
Автор(ы)
Егор Бугаенко
Издательство
Питер
Серия
Библиотека программиста
Год издания
2018
ISBN
978-5-4461-0801-5, 978-5-4461-1269-2
Возрастное ограничение
16+
Кол-во страниц
224
Формат страниц
70x100/16 (170x240 мм)
Размеры товара
205 × 141 × 14 мм
Язык
Русский
Переплёт
Мягкий
Доп. сведения
Офсетная бумага
Тираж
1000 экз.
Вес
285 г
Отзывы

Loading...
Оглавление

Предисловие . 8

Благодарности 12
Глава 1. Рождение . 14
1.1. Не используйте имена, заканчивающиеся на -er . 15
1.2. Сделайте один конструктор главным . . . . . . . . . . . . . . . . . . .25
1.3. В конструкторах не должно быть кода 31
Глава 2. Образование . 40
2.1. Инкапсулируйте как можно меньше 40
2.2. Инкапсулируйте хотя бы что-нибудь . 44
2.3. Всегда используйте интерфейсы 47
2.4. Тщательно выбирайте имена методов 51
Строители — это существительные . 53
Манипуляторы — это глаголы 55
Примеры 57
Методы, возвращающие логические значения 58
2.5. Не используйте публичные константы . 60
Привнесение сцепления . 62
Потеря цельности . 63
2.6. Делайте классы неизменяемыми 68
Изменяемость идентичности . 73
Атомарность отказов 74
Временное сцепление 76
Отсутствие побочных эффектов 78
Никаких нулевых (NULL) ссылок . 79
Потокобезопасность 81
Объекты поменьше и попроще 84
2.7. Пишите тесты, а не документацию 88
2.8. Используйте fake-объекты вместо mock-объектов . 91
2.9. Делайте интерфейсы краткими, используйте smart-классы 101
Глава 3. Работа 107
3.1. Предоставляйте менее пяти публичных методов 108
3.2. Не используйте статические методы 109
Объектное мышление против компьютерного 112
Декларативный стиль против императивного 115
Классы-утилиты . 123
Паттерн «Синглтон» . 124
Функциональное программирование 129
Компонуемые декораторы . 130
3.3. Не допускайте аргументов со значением NULL 137
3.4. Будьте лояльным и неизменяемым либо константным . 147
3.5. Никогда не используйте геттеры и сеттеры . 161
Объекты против структур данных 161
Благими намерениями вымощена дорога в ад 165
Все дело в префиксах . 167
3.6. Не используйте оператор new вне вторичных
конструкторов 176
3.7. Избегайте интроспекции и приведения типов . 182
Глава 4. Уход на пенсию 188
4.1. Никогда не возвращайте NULL . 189
Отказывать как можно скорее или как можно
безопаснее? . 192
Альтернативы NULL 194
4.2. Бросайте только проверяемые исключения 197
Не ловите исключения без необходимости . 200
Стройте цепочки исключений . 203
Восстанавливайтесь единожды 205
Используйте аспектно-ориентированное
программирование 207
Достаточно одного типа исключений . . . . . . . . . . . . . . . . .209
4.3. Будьте либо константным, либо абстрактным 215
4.4. Используйте принцип RAII . 220
Эпилог 223

Помощь
+7 928 117-10-37
Отдел продаж
Если у вас возникли вопросы при оформлении заказа, обратитесь по указанным контактам.
Мы используем файлы cookie, чтобы сайт был лучше для вас.