2015-09-14 3 views
-1

Если нет, то какие стандартные варианты Factory Pattern и Abstract Factory Pattern?Является ли HibernateSessionFactory примером заводского шаблона

+1

SessionFactory - это экземпляр singleton, который реализует шаблон Factory design –

+0

Много путаницы существует из-за терминов (простой завод против фабричного метода против абстрактной фабрики). Хорошая ссылка с кодом: http://www.codeproject.com/Articles/716413/Factory-Method-Pattern-vs-Abstract-Factory-Pattern. Заводский метод имеет полиморфный метод, означающий, что существует подкласс, который будет реализовывать метод и создать экземпляр экземпляра создаваемого объекта. Collection.iterator() - отличный пример заводского метода. См. Http://stackoverflow.com/questions/31017531/please-give-an-example-of-factory-method-pattern – Fuhrmanator

ответ

1

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

Экземпляр Factory содержит множество состояний, которые будут распространены для всех экземпляров, которые создаются, и затем он может создавать новые экземпляры, используя эту информацию.

Обычно на заводе может быть что-то вроде метода .create(), который также может принимать некоторые параметры; информация в аргументах, переданных в .create(), и информация, хранящаяся на заводе, будет использоваться вместе для создания нового экземпляра любого типа, который создает фабрика.

Чтобы ответить на ваш вопрос, да, HibernateSessionFactory использует шаблон заводского дизайна.

Для примера можно посмотреть ThreadFactory.

This post объясняет различия между заводским методом и абстрактным шаблоном завода.

Смежные вопросы