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

Какие знаешь шаблоны проектирования

Singleton - гарантирует единственный экземпляр класса. Пример:

javascript
class Database {
  constructor() {
    if (Database.instance) return Database.instance;
    Database.instance = this;
    return this;
  }
}

Observer - подписка на события. Пример:

javascript
class Subject {
  constructor() {
    this.observers = [];
  }
  subscribe(observer) {
    this.observers.push(observer);
  }
  notify(data) {
    this.observers.forEach(observer => observer.update(data));
  }
}

Factory - создание объектов без указания конкретного класса:

javascript
class ButtonFactory {
  createButton(type) {
    if (type === 'primary') return new PrimaryButton();
    return new DefaultButton();
  }
}

Decorator - добавление функциональности без изменения класса:

javascript
function withLogger(component) {
  return class extends component {
    log() {
      console.log('Component logged');
    }
  };
}

Также полезны: Module, Proxy, Strategy, MVC/MVVM для архитектуры приложений.

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

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

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

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