Tarkvaraarenduse mustrid: Disainimustrid
kutsutakse välja nendest sisemistest tehastest, kuna ta ise kasutab ainult üldist liidest.
Rakendatavus: Võimaldab luua mitmeid erinevaid liideseid, et luua ühest konkreetsest liidesest erinevad
väljundid. Näiteks veebileht koosneb vaatest, vaade võib välja näha erinevad: XML, HTML, Excel jne.
Struktuur: Klassi ja seos diagramm (UML class diagram)
Osalejad:
Client:
Suhtleb ainult läbi abstraktsete klassi liideste nagu abstraktne vabrik
(AbstractFactory) ja abstraktne toode (AbstractProduct)
AbstractFactory:
Abstraktne vabrik, milles on vajalikud meetodid, mis loovad abstraktseid
tooteid.
ConcreteFactory:
Konkreetne vabrik, milles on vajalikud meetodid loomaks konkreetseid
tooteid.
AbstractProduct
Abstraktne toode koos vajalike meetoditega
Product:
Defineerib konkreetset toote objekti, mis luuakse vastavalt konkreetse
vabriku poolt. Abstraktne toode rakendab selle
Koostöö: Kirjeldatakse kuidas klassid ja objektid mustris omavahel suhtlevad.