Внедрение зависимостей шаблонов PHP Factory - PullRequest
0 голосов
/ 19 февраля 2012

Я пытался разобраться с фабричными шаблонами и внедрением зависимостей, и я понимаю концепции и основы обоих шаблонов и то, что может быть небольшой переход.Но прежде чем я начну его кодировать, я просто хочу проверить, что мой метод потока будет правильным.

Мой предполагаемый поток будет ...

  1. создать файл конфигурациисо всеми свойствами, необходимыми для моих «базовых классов» в формате $ config ['core.classname'] ['property_name'] = $ value;

  2. создать фабричный класс, который будетсоздать экземпляр всех моих базовых классов и запустить через файл конфигурации, вставляя свойства каждому классу

  3. , когда моему приложению нужен экземпляр класса, оно использует класс фабрики для клонированиятребуемый класс, в который были введены свои зависимости.

Насколько я понимаю, это будет разъединять мои основные классы, позволяя их легко заменять и выгружать из моего кода.

1 Ответ

2 голосов
/ 19 февраля 2012

То, что вы называете «фабрикой», на самом деле является скорее контейнером внедрения зависимостей. Фабрика традиционно создает только один тип объекта.

В общем, вам следует избегать создания каких-либо базовых экземпляров, пока ваше приложение действительно не нуждается в них. У вас может быть определено 100 основных классов, из которых для любого запроса приложения может потребоваться только пара.

Во многих случаях ваше приложение захочет использовать один и тот же экземпляр или базовый класс, поэтому автоматическое клонирование, вероятно, не совсем то, что вам нужно.

Подумайте о прочтении главы «Служба» (то, что вы называете ядром) в пакете фреймворка Symfony2: http://symfony.com/doc/current/book/service_container.html

...