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

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

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

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

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 Car {
  constructor(options) {
    // ...
  }
}
class CarFactory {
  create(type) {
    switch(type) {
      case 'sedan': return new Car({doors: 4});
      case 'coupe': return new Car({doors: 2});
    }
  }
}

Также полезны Decorator (расширение функциональности), Strategy (переключение алгоритмов) и Proxy (контроль доступа).

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

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

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

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