Галерея Builder Pattern: 7 шедевров создания объектов. Часть I

🎨 Галерея Builder Pattern: 7 шедевров создания объектов. Часть I

Создавать тестовые данные вручную — как рисовать «Чёрный квадрат» пальцами. Возможно, но больно! 💢 Билдеры — ваши кисти и резцы. Выбирайте инструмент как истинный мастер!

🖼️ Моя исповедь куратора

Когда-то я писала объекты, как Ван Гог в период безумия — хаотично и страстно. Пока однажды сгенерированные данные не сломали прод… Теперь я создаю данные с изяществом да Винчи. Добро пожаловать на выставку)))

🏛️ Зал 1: Классическое искусство

1️⃣ «Натюрморт с if/else» (Ветвление или Conditional Builder Pattern)

Стиль: Примитивизм

setAge(age) {
  if (age < 0) this.user.age = 0;      // "Младенец с чашей"
  else if (age > 120) this.user.age = 120; // "Старик у моря"
  else this.user.age = age;            // "Портрет неизвестного"
  return this;
}

🖌️ Критики говорят:

“Наивно! Очаровательно в простоте, но сложные композиции превращаются в «Гернику»”

2️⃣ «switch: Готические витражи» (Перечисление или Enumeration Builder Pattern)

Стиль: Средневековая иконопись

switch(role) {
  case 'admin': // Святой Пётр с ключами
    this.user.permissions = ['all'];
    break;
  case 'moderator': // Ангел-хранитель
    this.user.permissions = ['read','edit'];
    break;
}

🖌️ Критики говорят:

“Строгая симметрия! Но новый святой потребует перестройки собора”

🧭 Правила куратора

Не вешайте авангард в классическую раму


📚 Хотите углубиться в тему? Изучите подробное руководство по Builder Pattern на Refactoring.Guru

Нужна помощь? Присоединяйтесь к моему Telegram-каналу @qawithlove