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

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

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

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

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

javascript
class Car {
  constructor(type) {
    if (type === 'sedan') return new Sedan();
    if (type === 'suv') return new SUV();
  }
}

Observer - уведомляет подписчиков об изменениях.
Пример:

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

Middleware - цепочка обработчиков (часто в Express).
Пример:

javascript
app.use((req, res, next) => {
  console.log('Middleware 1');
  next();
});

Dependency Injection - внедрение зависимостей вместо жесткого кодирования.
Пример:

javascript
class UserService {
  constructor(database) {
    this.db = database;
  }
}

Также полезны: Decorator, Adapter, Strategy, Proxy. В Node.js особенно часто применяются Singleton (для подключения к БД) и Middleware.

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

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

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

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