Встречается на собеседованиях • сегодня

Что такое паттерн Publisher Subscriber

Publisher-Subscriber (PubSub) — это паттерн, где объекты (подписчики) подписываются на события издателя и получают уведомления при их возникновении. Издатель не знает о подписчиках напрямую, что уменьшает связность.

Пример реализации на JavaScript:

javascript
class EventBus {
  constructor() {
    this.subscribers = {};
  }

subscribe(event, callback) {
if (!this.subscribers[event]) {
this.subscribers[event] = [];
}
this.subscribers[event].push(callback);
}

publish(event, data) {
if (this.subscribers[event]) {
this.subscribers[event].forEach(callback => callback(data));
}
}
}

// Использование
const bus = new EventBus();
bus.subscribe('message', (data) => console.log('Received:', data));
bus.publish('message', 'Hello!'); // Выведет: Received: Hello!

text

Плюсы:
- Гибкость (можно добавлять/удалять подписчиков)
- Слабая связность компонентов

Минусы:
- Сложнее отследить поток данных
- Возможны утечки памяти, если не отписываться
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы