Перейти к содержимому

Паттерн проектирования Builder в Java | Практический пример в банковской сфере | СОЗДАЕМ СЛОЖНЫЕ ...

Klass Tech Academy

0:00 / 0:00

Паттерн проектирования Builder в Java | Практический пример в банковской сфере | СОЗДАЕМ СЛОЖНЫЕ ...

20 просмотров · 3 дн. назад
Klass Tech Academy
67 подписчиков
20 просмотров · 3 дн. назад
🚀 Устали от конструкторов со слишком большим количеством параметров? Хотите создавать сложные Java-объекты чистым и читаемым способом? В этом видео мы продолжаем разработку нашего приложения для управления банковской ликвидностью и изучаем шаблон проектирования Builder в Java. Представьте себе запрос на ликвидность, требующий нескольких деталей, таких как идентификатор клиента, тип ликвидности, идентификатор счета, валюта и канал. По мере роста количества полей конструкторы становятся сложнее для чтения, перегруженные конструкторы трудно поддерживать, а необязательные параметры могут запутывать процесс создания объектов. 💡 Цель: СОЗДАВАТЬ СЛОЖНЫЕ ОБЪЕКТЫ ШАГ ЗА ШАГОМ! Шаг Builder позволяет нам постепенно создавать объекты, используя читаемые вызовы методов, что упрощает понимание и поддержку процесса создания объектов. 📚 Что вы узнаете? ✅ Поймите проблемы, вызванные конструкторами со слишком большим количеством параметров. ✅ Изучите шаблон проектирования Builder и когда его использовать. ✅ Пошаговое создание сложных объектов с использованием гибкого API. ✅ Чистая обработка обязательных и необязательных полей. ✅ Предоставление значений по умолчанию для необязательных атрибутов запроса. ✅ Повышение читаемости без создания множества перегруженных конструкторов. ✅ Понимание того, как паттерн Builder поддерживает неизменяемые объекты при соответствующем проектировании. 🏦 Практический пример управления банковской ликвидностью Нашему приложению для управления банковской ликвидностью необходимо создавать объекты запроса, содержащие такую ​​информацию, как: 👤 Идентификатор клиента – идентифицирует клиента. 💰 Тип ликвидности – указывает наличность, кредит или комбинированный вариант ликвидности. 🏦 Идентификатор счета – идентифицирует соответствующий счет. 💱 Валюта – указывает валюту транзакции. 📱 Канал – идентифицирует источник запроса. Мы будем использовать конструктор LiquidityRequest для создания этих объектов в читаемом и поддерживаемом виде. Вместо передачи множества значений в длинный конструктор, мы можем создавать запрос, используя цепочки вызовов методов, и четко различать обязательные и необязательные поля. 🎯 Преимущества паттерна Builder Улучшенная читаемость: Четкое определение каждого поля при создании объекта. Упрощенные конструкторы: Избегайте конструкторов с длинными списками параметров. Гибкое конструирование: Устанавливайте необязательные поля только тогда, когда это необходимо. Лучшая поддерживаемость: Добавляйте поля без введения многочисленных перегрузок конструкторов. Контролируемое создание объектов: Обеспечьте обязательность полей и валидацию с помощью конструктора. Поддержка неизменяемости: Создайте объект один раз и предоставьте его как неизменяемый, когда этого потребует дизайн. 🔍 Конструктор против конструктора Традиционный конструктор: Передает значения непосредственно через параметры конструктора, что может вызывать путаницу по мере увеличения количества полей. Паттерн «Построитель»: Использует именованные, связанные вызовы методов для того, чтобы сделать создание объектов более выразительным и понятным. 🔗 Продолжайте обучение Ранее: Паттерн проектирования «Шаблонный метод» в Java — определяет общий рабочий процесс, позволяя подклассам настраивать определенные шаги. Далее: Паттерн проектирования «Адаптер» в Java — позволяет несовместимым интерфейсам работать вместе без переписывания существующих компонентов. 📌 Смотрите полный плейлист: Объяснение шаблонов проектирования в Java | Руководство для начинающих | Реальный проект по банковской ликвидности 💬 Вопрос: Вы работали с конструкторами Java, которые принимают слишком много параметров? Использовали бы вы паттерн «Построитель» для их упрощения? Поделитесь своими мыслями в комментариях! 👍 Ставьте лайки, делитесь и подписывайтесь, чтобы получать больше практических уроков по Java и Spring Boot. #Java #BuilderPattern #DesignPatterns #JavaTutorial #CoreJava #CleanCode #ObjectOrientedProgramming #JavaInterview