Паттерн проектирования «Простая фабрика» (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-разработчикам, стремящимся уменьшить связанность ...