Sobes.tech
Назад к вопросам
Junior — Middle
127

Применяли ли вы паттерн Revealing Constructor в своей практике разработки?

Ответ от нейросети

sobes.tech AI

Паттерн Revealing Constructor в Node.js — это подход, при котором конструктор функции или класса явно возвращает объект с методами и свойствами, которые должны быть доступны извне, скрывая внутренние детали реализации. Это помогает контролировать публичный интерфейс и инкапсулировать приватные данные.

Пример:

function User(name) {
  let _name = name; // приватное свойство

  function getName() {
    return _name;
  }

  function setName(newName) {
    _name = newName;
  }

  // Возвращаем объект с явно раскрытыми методами
  return {
    getName,
    setName
  };
}

const user = User('Иван');
console.log(user.getName()); // Иван
user.setName('Пётр');
console.log(user.getName()); // Пётр

В практике я применял этот паттерн для создания модулей с четко определенным публичным API и скрытыми внутренними состояниями, что повышало читаемость и поддержку кода.