Jako tovární metoda (factory method) se označuje metoda, jejíž účel je vytvořit novou instanci nějakého objektu a vytvořenou instanci vrátit. Druh objektu i jeho počáteční vlastnosti jsou dané přijatými parametry, případně i stavem objektu, který tovární metodu poskytuje.
Instanční tovární metoda se používá tam, kde je vytvářený objekt nějakým způsobem odvozený od aktuální instance třídy, která tovární metodu poskytuje. Tyto metody se používají hlavně u tzv. konstantních tříd (immutable classes), jejichž stav nelze po vytvoření měnit a pro změnu některého z parametrů je třeba vytvořit instanci novou. Ačkoliv tato vlastnost nevypadá na první pohled výhodně, umožňuje zvýšit podíl čistých funkcí v programu a tak do objektového programovacího jazyka převzít některé výhody funkcionálního programování.
kód v jazyce Java - Zobrazit
Tovární metoda může být statická, pokud všechny informace nutné pro vytvoření požadovaného objektu dostane jako parametry. Takové tovární metody lze sdružovat do logických celků a pro každý takový celek vytvořit tzv. tovární třídu. Taková třída zpravidla obsahuje jen spolu související statické tovární metody.
kód v jazyce Java - Zobrazit
kód v jazyce Java - Zobrazit