Введення null-об’єкта
недоліки
- За відмову від умовних операторів ви платите ще одним новим класом.
порядок рефакторінга
З цікавить вас класу створіть підклас, який буде виконувати роль Null-об'єкта.
В обох класах створіть метод isNull (). який буде повертати true для Null-об'єкта і false для реального класу.
Знайдіть всі місця, де код може повернути null замість реального об'єкта. Змініть цей код так, щоб він повертав Null-об'єкт.
Знайдіть всі місця, де змінні реального класу порівнюються з null. Замініть такі перевірки викликом методу isNull ().
- Якщо в цих умовних операторах при значенні не рівному null виконуються методи вихідного класу, перевизначите ці методи в Null-класі і вставте туди код з else частини умови. Після цього умовний оператор можна буде взагалі видалити, а різну поведінку буде здійснюватися за рахунок поліморфізму.
- Якщо не все так просто, і методи перевизначити не виходить, подивіться, чи можна просто виділіть операції, які повинні були виконуватися при значенні рівному null в нові методи Null-об'єкта. Викликайте ці методи замість старого коду в else як операції за замовчуванням.

Збігайте за подушкою, у нас тут контенту на 7 годин читання.
Або спробуйте наш інтерактивний курс. Він набагато цікавіший, ніж банальний текст.