Objektų fabrikas

(Nukreipta iš puslapio Fabrikas (programavimas))
   Šiam straipsniui ar jo daliai trūksta išnašų į patikimus šaltinius.
Jūs galite padėti Vikipedijai pridėdami tinkamas išnašas su šaltiniais.


   Šį straipsnį gali būti gana sunku suprasti be papildomų informacijos šaltinių.
Galite perrašyti dėstomus teiginius plačiau ir suteikiant daugiau konteksto.

Objektų fabrikas (liet. kalvė[reikalingas šaltinis]) – 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 (angl. sockets) 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).[reikalingas šaltinis]