Об’єкт Null (англ. Null Object) - це об’єкт з певною нейтральною (“null”) поведінкою.
Шаблон проєктування Null Object визначає використання таких об’єктів та його поведінку (чи її відсутність).
Null Object - не шаблон із книги Банди Чотирьох, але схема, яка з’являється досить часто, щоб вважатися шаблоном.
Вона має такі переваги:
Клієнтський код спрощується;
Зменшує шанс винятків через нульові покажчики (та помилок PHP різного рівня);
Менше додаткових умов - менше тест кейсів.
Методи, які повертають об’єкт або Null, натомість мають повернути об’єкт NullObject.
Це спрощений формальний код, який усуває необхідність перевірки if (!is_null($obj)) { $obj->callSomething(); },
замінюючи її на звичайний виклик $obj->callSomething();.