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

Какие плюсы и минусы EventBus

Плюсы:

  • Простота использования: легкая реализация коммуникации между компонентами
  • Гибкость: можно передавать данные между любыми частями приложения
  • Декомпозиция: уменьшает связанность компонентов

Минусы:

  • Сложность отладки: трудно отследить цепочку событий
  • Потенциальные утечки памяти: нужно явно отписываться от событий
  • Неявные зависимости: сложно понять, кто и на какие события подписан
javascript
// Пример реализации простого EventBus
class EventBus {
  constructor() {
    this.listeners = {};
  }

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

  emit(event, data) {
    (this.listeners[event] || []).forEach(cb => cb(data));
  }

  off(event, callback) {
    this.listeners[event] = (this.listeners[event] || [])
      .filter(cb => cb !== callback);
  }
}

Лучше использовать для простых проектов или как временное решение. В крупных приложениях предпочтительнее state-менеджеры.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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