(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.