Описание тега null-object-pattern

Шаблон, в котором конкретный объект используется для представления нулевого значения, а не истинного программного нуля, чтобы избежать различных сложностей, возникающих при использовании фактического нуля. При использовании этого тега для сложных вопросов реализации - укажите язык кода, на котором написана реализация.

Некоторые протоколы и адаптеры могут взорваться при обработке фактического нуля. Чтобы избежать этой проблемы и упростить код (отказаться от всех проверок NULL на стороне клиента), вместо NULL используется специальный объект "токен", представляющий "ноль".

Впервые он был задокументирован Бобби Вульфом в "Языках шаблонов проектирования программ 3".

См. Википедию для получения дополнительной информации.