Паттерн проектирования Builder в Java | Вопросы на собеседовании + реальные примеры кода
The Curious Coder
0:00 / 0:00
Паттерн проектирования Builder в Java | Вопросы на собеседовании + реальные примеры кода
6 461 просмотр · 5 мес. назад
The Curious Coder
29,4 тыс. подписчиков
6 461 просмотр · 5 мес. назад
Паттерн проектирования «Построитель» в Java — от запутанного кода к чистой архитектуре
Возникают трудности с постоянно усложняющимся построением объектов? Паттерн «Построитель» — один из самых практичных шаблонов проектирования, которые вы будете использовать в реальной разработке на Java, и один из наиболее часто задаваемых вопросов на собеседованиях по шаблонам проектирования в продуктовых компаниях.
В этом видео мы не просто определим, что такое шаблон «Построитель», и перейдем к следующему. Мы начнем с реального проблемного фрагмента кода — такого, с которым вы действительно столкнетесь в продакшене — и будем итеративно рефакторить его, пока не получим чистый, работающий шаблон проектирования «Построитель» в Java. Никаких коротких путей, никаких обходных путей, таких как пользовательские конструкторы, заполненные значениями null. Вы увидите, почему эти подходы терпят неудачу и как шаблон проектирования «Построитель» решает каждую проблему по очереди.
Начнём с теоретического объяснения паттерна «Построитель» — разберёмся с диаграммой классов паттерна «Построитель», а затем перейдём к практике: сначала создадим простой класс-построитель в виде отдельного класса, а затем разовьем его в внутренний Java-класс-построитель внутри самого доменного объекта — так, как это и должно использоваться.
Что вы узнаете:
1. Паттерн проектирования «Построитель» — что он решает и когда его применять
2. Пошаговая рефакторизация от некорректного кода к правильной реализации паттерна «Построитель»
3. Почему обходные пути (пользовательские конструкторы, значения по умолчанию null) перестают работать в больших масштабах
4. Создание автономного класса с паттерном «Построитель» по сравнению с внутренним классом-построителем
5. Директор паттерна «Построитель» и его роль в управлении конструкцией
6. Преимущества и недостатки паттерна проектирования «Построитель» в Java
7. Как паттерн проектирования «Построитель» вписывается в порождающие паттерны проектирования наряду с другими паттернами проектирования Java
8. Актуальность паттерна «Построитель» для обсуждения низкоуровневого проектирования на собеседованиях
Готовитесь ли вы к собеседованиям или просто хотите наконец понять паттерны проектирования в Java за пределами определений из учебников, этот учебник по паттерну «Построитель» даст вам практическую ясность, которую пропускают большинство видеоуроков по паттернам проектирования. Это часть нашей серии «Объяснение паттернов проектирования» — мы рассматриваем, что такое паттерны проектирования, паттерны проектирования в Java и паттерны проектирования в Java с нуля, по одному паттерну за раз.
00:00: Введение в паттерн Builder
00:52: Проблема обратной совместимости
05:52: Проблема телескопического конструктора
07:32: Решение с помощью паттерна Builder
17:33: Оптимизация с помощью паттерна Builder
22:35: Преимущества паттерна Builder
25:17: Недостатки паттерна Builder
Для доступа к коду: клонируйте указанный ниже репозиторий и переключитесь на ветку: builder-pattern
Ссылка на Github: https://github.com/TheCuriousCoder-sg...
#BuilderPatternJava #BuilderDesignPattern #DesignPatternsInJava #JavaDesignPatterns #CreationalDesignPatterns #DesignPatternInterviewQuestions #LowLevelDesign #DesignPatterns #CleanCode #JavaTutorial #SoftwareDesignPatterns #DesignPatternsTutorial
Инстаграм:
/ the.curious_coder