Существует как абстрактный, так и фабричный шаблон.
В книге «Банды четырех» говорится о двух шаблонах: Фабрика Метод и Абстрактная фабрика.
Фабричный метод - это просто то, как он звучит, абстрактный метод, используемый для создания объекта:
public interface SomeInterface {
Foo create(); // factory method
}
public class SomeClass implements SomeInterface {
Foo create() {
// the concrete type being constructed is abstracted by the factory method
return new DerivedFoo();
}
}
Абстрактная фабрика - это тип , который определяет абстракцию для создания объектов.,В приведенном выше примере SomeInterface
является абстрактной фабрикой.
Они не всегда связаны друг с другом.Совершенно верно иметь обычный конкретный класс с некоторой функциональностью, которая также имеет метод фабрики.Абстрактная фабрика говорит, что целью всего класса является создание одного или нескольких объектов.