Objektų fabrikas

Objektų fabrikas () – objektas, kurio užduotis kurti naujus kitai nei jis pats klasei priklausančius objektus.

Objektų fabrikas turi vieną ar keletą metodų, kurių grąžinama reikšmė yra reikalaujamas sukurti objektas. Šie metodai gali turėti kuriamus objektus aprašančių parametrų. Fabrikas paprastai turi ir jo nuostatas keičiančius metodus. Priklausomai nuo būsenos ir metodo parametrų, fabrikas gali parinkti sukuriamo objekto klasę (konstruktorius to padaryti negali). Prireikus iš tėvinės fabriko klasės (neretai būna tik sąsaja) kildinama specializuota dukterinė klasė. Toks fabrikas gali būti perduodamas kaip sudėtingesnio algoritmo parametras ir ten kurti algoritme dalyvaujančius objektus, kuriems būdingas specifinis programuotojui reikalingas elgesys (tarkim, šifruotą kodavimą naudojančias tinklo jungtis () vietoje paprastų).

Nors fabriko metodas gana paplitęs, ne visos net ir aukšto lygio programavimo kalbos turi specialias konstrukcijas dirbti su fabrikais. Dažniau fabrikas yra tiesiog vienas iš daugelio programos objektų.

Kad fabrikus būtų lengviau atpažinti, jų klasių vardai paprastai susideda iš objektų kuriuos jie kuria, klasės vardo, papildyto sutartine priesaga (tarkim, SocketFactory – jungčių fabrikas).

Objektinis programavimas

zh:工厂方法#工厂