На сайті інтернет-магазину періодично може закінчуватися певний товар. Водночас деякі користувачі можуть бути зацікавлені у цьому предметі, якого поки що немає у наявності. У цієї проблеми може бути 3 варіанти вирішення:
Покупець самостійно періодично перевіряє наявність товару.
Інтернет-магазин завалює користувачів сповіщеннями про надходження всіх нових товарів.
Користувач підписується лише на той конкретний предмет, який його цікавить, і одержує сповіщення про його повернення на полиці магазину. Також, на один і той же продукт можуть підписатися декілька покупців.
Варіант 3 звучить найбільш ефективно, і фактично це і є суть патерна Спостерігач. Головні елементи цього патерна проектування наступні:
Видавець — публікує подію, коли щось відбувається.
Спостерігач — підписується на події суб’єкта і одержує сповіщення в разі їх виникнення.