úterý 26. srpna 2008

Návrhové vzory v PHP / Design pattern - Factory Method

(Poznámka: Pokud nemáte vůbec šajnu, co je to objektové programování, třída, instance, rozhraní, abstrakce, polymorfismus, tak nejdřív začněte tady:
http://php.interval.cz/objektove-orientovane-programovani-oop-v-php/
)

Nechci tu zas zbytečně něco opisovat, takže pro ty, co neví, co jsou vlastně návrhové vzory (neboli design patterns):

http://cs.wikipedia.org/wiki/N%C3%A1vrhov%C3%BD_vzor

Tak a teď konkrétněji o Factory Method:

Tento návrhový vzor použijete v případech, kdy máte skupinu objektů se společným rozhraním (například třídy pro interakci s různými databázemi) a potřebujete něco, co vám vytvoří konkrétní instance takových tříd na základě nějakého parametru.

Asi jako, dej mi třídu, která pracuje s MySQL, dej mi třídu, která pracuje s FireBird, atd.

Bližší info o samotném návrhovém vzoru tady:

http://www.dofactory.com/Patterns/PatternFactory.aspx

A kde je to použito v praxi:

http://framework.zend.com/manual/en/zend.db.html#zend.db.adapter.connecting.factory

Mimochodem, Zend Framework je pro PHPkáře skvělý právě pro studium návrhových vzorů a jejich použití v reálném světě. Rozhodně na něj neodkazuji naposledy.