Fabryka (ang. Factory) – wzorzec projektowy należący do grupy wzorców kreacyjnych.
Wzorzec ten jest również znany jako wzorzec projektowy metody fabrykującej, który jest jednym ze sposobów na tworzenie obiektu.
W tym wzorcu tworzymy obiekt bez ujawniania logiki jego tworzenia klientowi i odwołujemy się do nowo utworzonego obiektu za pomocą wspólnego interfejsu.
Wzorzec projektowy fabryki jest używany np., gdy mamy nadklasę z wieloma podklasami i na podstawie danych wejściowych musimy zwrócić jedną z podklas.
Odpowiedzialność za tworzenie obiektów jest po stronie klas podrzędnych.
Wzorzec fabryka jest jednym ze wzorców projektowych „Gang of Four”, które opisują, jak rozwiązywać powtarzające się problemy projektowe, przez projektowanie elastycznego i wielokrotnego użytku oprogramowania obiektowego.
Metoda Fabrykująca promuje luźne sprzężenia. Oznacza to, że kod współdziała z wynikowym interfejsem lub klasą abstrakcyjną, dzięki czemu będzie działał z dowolnymi klasami, które implementują ten interfejs lub rozszerzają tę klasę abstrakcyjną.
Wzorzec fabryki sprawia, że nasz kod jest łatwy do rozszerzenia.
Istnieje również wzorzec projektowy Fabryka abstrakcyjna (ang. Abstract Factory), który jest również jednym ze wzorców kreacyjnych.
