PHP модел фабрика, същността

@pavel_salauyou не съм съгласен, аз го е описано в неговата фабрика например. Мениджъри плащания са точно същия тип обекти. Само по смисъла на, в този пример може да се приложи Stategriya модел, но щеше да изглежда вече така:

клас Поръчка защитен мениджър $;
обществена функция __construct (PaymentManager $ мениджър)
$ Това-> Мениджър = $ мениджър;
>

обществена функция processPayment ($ данни) $ това-> manager-> процес ($ данни);
>
>

абстрактен клас PaymentManager
абстрактен процес обществена функция ($ данни);
>

клас FirstManager простира PaymentManager
//.
>

клас SecondManager простира PaymentManager
//.
>

//.
ако ($ общо <10000) $manager = new SecondManager();
>
друг $ мениджър = нов FirstManager ();
>

$ Поръчка = нов ред ($ мениджър);
$ Поръчка-> processPayment (данни $);

Това е чиста стратегия - заместваме логиката чрез замяна на класа. И същността на растението - само за да дам един обект (или понякога клас) на определен тип. Не винаги един вид е един клас, често е обратното. Същата или друга логика в тези класове фабриката вече не му пука.