Встречается на собеседованиях • сегодня
Что такое паттерн 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
Плюсы:
- Гибкость (можно добавлять/удалять подписчиков)
- Слабая связность компонентов
Минусы:
- Сложнее отследить поток данных
- Возможны утечки памяти, если не отписываться
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
офферы быстрее!
Попробовать бесплатно
Следующий вопрос
Это единственный вопрос по вашему фильтру
как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы