Java: шаблон фабричного метода проектирования | Объектно-ориентированный дизайн | Шаблоны проектирования

Опубликовано: 2013-06-28

Объектно-ориентированное проектирование по методу фабричного проектирования

Factory Design Pattern — это один из шаблонов Creational Design, который широко используется в JDK, а также в таких средах, как Spring MVC и Struts. Шаблон фабричный метод — это объектно-ориентированный порождающий шаблон проектирования для реализации концепции фабрик и решения проблемы создания объектов (продуктов) без указания точного класса объекта, который будет создан. Суть этого шаблона заключается в том, чтобы « определить интерфейс для создания объекта, но позволить классам, реализующим интерфейс, решать, какой класс создавать. Метод Factory позволяет классу отложить создание экземпляра до подклассов «.

Шаблоны проектирования Java

Давайте сначала узнаем, как реализовать фабричный шаблон в java. Мы создадим 5 классов для реализации этого шаблона.

  • Суперкласс (CrunchfiyCompany.java)
    • Суперкласс в шаблоне factory может быть интерфейсом, абстрактным классом или обычным классом Java. В нашем примере у нас есть суперкласс как абстрактный класс с переопределенным методом toString() для целей тестирования.
  • Подкласс1 (CrunchifyEbay.java)
    • Обратите внимание, что класс является расширением класса CrunchfiyCompany.
  • Подкласс 2 (CrunchifyGoogle.java)
    • Обратите внимание, что класс является расширением класса CrunchfiyCompany.
  • Фабричный класс (CrunchifyFactoryPattern.java)
    • Теперь, когда у нас есть готовые суперклассы и подклассы, мы можем написать наш фабричный класс.
    • Мы можем оставить класс Factory Singleton или оставить метод, возвращающий подкласс, статическим.
    • Обратите внимание, что на основе входного параметра создается и возвращается другой подкласс.
  • Тестовый класс (CrunchifyFactoryPatternTest.java)
    • Клиентская программа Simple Test, использующая приведенную выше реализацию фабричного шаблона.

Другое должно гласить:

  • Поточно-безопасная и быстрая реализация синглтона в Java
  • Что такое Daemon Thread в Java? Пример прилагается

Другие примеры использования Factory Pattern?

  • Методы java.util.Calendar, ResourceBundle и NumberFormat getInstance() используют шаблон Factory.
  • valueOf() в классах-оболочках, таких как Boolean, Integer и т. д.

Преимущества фабричного шаблона:

  • Он используется, когда у нас есть суперкласс с несколькими подклассами, и на основе ввода нам нужно вернуть один из подклассов. Этот шаблон берет на себя ответственность за создание экземпляра класса из клиентской программы в класс фабрики.
  • Фабричный шаблон обеспечивает подход к коду для интерфейса, а не для реализации.
  • Фабричный шаблон удаляет экземпляры реальных классов реализации из клиентского кода, делая его более надежным, менее связанным и легко расширяемым. Например, мы можем легко изменить реализацию класса ПК, потому что клиентская программа не знает об этом.
  • Фабричный шаблон обеспечивает абстракцию между реализацией и клиентскими классами посредством наследования.

Недостатки:

  • Фабрика должна использоваться для семейства объектов. Если классы не расширяют общий базовый класс или интерфейс, их нельзя использовать в шаблоне проектирования фабрики.

Список всех руководств по Java Web Development, Spring MVC.