Элегантные объекты. Java Edition
Сборник практических рекомендаций.
Е. Бугаенко»Элегантные объекты. Java Edition» Питер, 2018 год, 240 стр., ISBN:978-5-4461-1269-2; (PDF)
Описание книги.
Эта книга представляет собой сборник практических рекомендаций, которые, могут изменить ситуацию и остановить деградацию ООП. Двадцать три совета сгруппированы в четыре главы: рождение, школа, трудоустройство и выход на пенсию. Речь пойдет о мистере Объекте, антропоморфной сущности в объектно-ориентированном мире. Он родится, пойдет в школу, устроится на какую-нибудь работу, а затем выйдет на пенсию.
Автор книги, разработчик с 20-летним стажем, критически анализирует догмы ООП и предлагает взглянуть на эту парадигму совершенно по-новому. И постарался сделать материал максимально приближенным к практике, проиллюстрировав освещаемые идеи реалистичными примерами программного кода. Кроме того, в начале почти каждого раздела есть ссылка на статью в блоге, посвященную той же или очень близкой теме.
Оглавление.
- Глава 1. Рождение
1.1.Не используйте имена, заканчивающиеся на -er
1.2.Сделайте один конструктор главным
1.3.В конструкторах не должно быть кода - Глава 2. Образование
2.1.Инкапсулируйте как можно меньше
2.2.Инкапсулируйте хотя бы что-нибудь
2.3.Всегда используйте интерфейсы
2.4.Тщательно выбирайте имена методов
Строители — это существительные
Манипуляторы — это глаголы
Примеры
Методы, возвращающие логические значения
2.5.Не используйте публичные константы
Привнесение сцепления
Потеря цельности
2.6.Делайте классы неизменяемыми
Изменяемость идентичности
Атомарность отказов
Временное сцепление
Отсутствие побочных эффектов
Никаких нулевых (NULL) ссылок
Потокобезопасностъ
Меньшие и более простые объекты
2.7.Пишите тесты, а не документацию
2.8.Используйте fake-объекты вместо mock-объектов
2.9.Делайте интерфейсы краткими, используйте smart-классы - Глава 3. Работа
3.1.Предоставляйте менее пяти публичных методов
3.2.Не используйте статические методы
Объектное мышление против компьютерного
Декларативный стиль против императивного
Классы-утилиты
Паттерн «Синглтон»
Функциональное программирование
Компонуемые декораторы
3.3.Не допускайте аргументов со значением NULL
3.4.Будьте лояльным и неизменяемым либо константным
3.5.Никогда не используйте геттеры и сеттеры
Объекты против структур данных
Благими намерениями вымощена дорога в ад
Все дело в префиксах
3.6.Не используйте оператор new вне вторичных конструкторов
3.7.Избегайте интроспекции и приведения типов - Глава 4. Уход на пенсию
4.1.Никогда не возвращайте NULL
Отказывать как можно скорее или как можно безопаснее?
Альтернативы NULL
4.2. Бросайте только проверяемые исключения
Не ловите исключения без необходимости
Стройте цепочки исключений
Восстанавливайтесь единожды
8 Оглавление
Используйте аспектно-ориентированное программирование
Достаточно одного типа исключений
4.3.Будьте либо константным, либо абстрактным
4.4.Используйте принцип RAII
Эпилог
Добавить комментарий