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

Паттерн проектирования «Простая фабрика» (Simple Factory) в Java | Практический пример: банковска...

Klass Tech Academy

0:00 / 0:00

Паттерн проектирования «Простая фабрика» (Simple Factory) в Java | Практический пример: банковска...

55 просмотров · 6 дн. назад
Klass Tech Academy
67 подписчиков
55 просмотров · 6 дн. назад
🚀 Что если бы вашему бизнес-коду не нужно было знать, какой Java-класс нужно создать? В предыдущем видео мы представили шаблон проектирования «Стратегия» для разделения различных алгоритмов расчета ликвидности на независимые классы. Но остается один вопрос: Кто создает соответствующий объект стратегии? Если каждый вызывающий класс использует new CashLiquidityStrategy(), new CreditLiquidityStrategy() или new OverdraftLiquidityStrategy(), решения о создании объектов могут стать разрозненными по всему приложению. Добавление новой стратегии может потребовать изменений в нескольких местах. 💡 Вот где может помочь шаблон проектирования «Простая фабрика»! В этом видео мы улучшим наше приложение для управления банковской ликвидностью, представив простую фабрику, которая централизует создание объектов стратегий ликвидности. Цель? ПРЕКРАТИТЬ РАЗБРОСАННОЕ СОЗДАНИЕ ОБЪЕКТОВ — ЦЕНТРАЛИЗОВАТЬ СОЗДАНИЕ ОБЪЕКТОВ! 📚 Что вы узнаете из этого видео? ✅ Проблема прямого создания объектов — Поймите, почему создание конкретных объектов стратегий в вашем приложении может увеличить связанность. ✅ Краткий обзор шаблона «Стратегия» — Узнайте, как наши стратегии «Наличные», «Кредит» и «Комбинированная ликвидность» инкапсулируют различные алгоритмы вычислений. ✅ Что такое шаблон «Простая фабрика»? — Узнайте, как выделенный класс фабрики может централизовать создание объектов. ✅ Создание фабрики стратегий ликвидности — Создайте фабрику, которая выбирает и создает соответствующую стратегию на основе типа ликвидности. ✅ Использование общего интерфейса — Верните общий интерфейс стратегии, чтобы вызывающий код не зависел напрямую от конкретных реализаций. ✅ Уменьшение связанности в клиентском коде — Перенесите ответственность за выбор и создание стратегий в одно место. ✅ Упрощение расширения приложения — Поймите, как централизованная точка создания упрощает изменения при введении новых стратегий ликвидности. 🏦 Наш практический пример управления банковской ликвидностью В этой серии статей о шаблонах проектирования Java мы постепенно разрабатываем приложение для управления банковской ликвидностью. Наше приложение поддерживает различные способы расчета доступной ликвидности: 💰 Денежная ликвидность 💳 Кредитная ликвидность 🔗 Комбинированная ликвидность 🏦 Ликвидность овердрафта Наш шаблон проектирования «Стратегия» уже инкапсулирует эти алгоритмы расчета. Теперь мы представим фабрику для обработки создания соответствующей стратегии. Например, вместо написания логики создания объекта непосредственно в сервисе: new CashLiquidityStrategy() или new CreditLiquidityStrategy() клиент может запросить необходимую стратегию у выделенной фабрики LiquidityStrategyFactory. Фабрика определяет, какую реализацию создать, и возвращает ее через общий интерфейс стратегии. 🔍 До и после: Зачем использовать простую фабрику? Раньше — Создание объектов было разбросано по всему клиентскому коду Вызывающие классы знали имена конкретных реализаций стратегий. Логика выбора и создания объектов могла дублироваться. Добавление новой стратегии могло потребовать изменений в нескольких вызывающих классах. После — Создание объектов стало централизованным Создание стратегий обрабатывается выделенной фабрикой. Код клиента зависит от общего интерфейса. Изменения в логике создания объектов могли быть сосредоточены в одном месте. 🎯 Преимущества паттерна «Простая фабрика» Централизованное создание объектов: логика создания хранится в одном выделенном классе. Сниженная связанность: детали конкретной реализации скрыты от вызывающих классов. Улучшенная поддерживаемость: избегается дублирование логики выбора и создания объектов. Более чистый клиентский код: сервисы могут сосредоточиться на бизнес-операциях, а не на создании объектов. Упрощенная эволюция: предоставляется единое место для обновления сопоставления между типами ликвидности и реализациями стратегий. Важно: Паттерн «Простая фабрика» — это широко используемый идиом проектирования, а не один из 23 оригинальных паттернов проектирования GoF. Кроме того, цель состоит не в том, чтобы полностью исключить использование оператора `new` в Java. Цель — централизовать создание объектов, когда это упрощает управление проектом. 🔗 Как это вписывается в нашу серию о шаблонах проектирования В предыдущем видео мы изучили шаблон проектирования «Стратегия» и как менять алгоритмы расчета ликвидности. В этом видео мы развиваем этот подход, представляя шаблон проектирования «Простая фабрика» для централизации создания стратегий. Далее: Шаблон проектирования «Фабричный метод» в Java — где мы рассмотрим более расширяемый подход к созданию объектов, позволяющий подклассам определять, какие конкретные объекты будут созданы. 📌 Смотрите полный плейлист: Шаблоны проектирования в Java | Руководство для начинающих | Реальный проект по банковской ликвидности 👨‍💻 Кому стоит посмотреть? Начинающим Java-разработчикам, изучающим объектно-ориентированное проектирование. Java-разработчикам, стремящимся уменьшить связанность ...