2012-02-19 25 views
0

私は工場パターンと依存性注入の両方に頭をかたよっているし、両方のパターンの背後にある概念と基本を理解しており、少しクロスオーバーすることがあります。しかし、私はそれをコーディングを開始する前に、私はちょうど私のフローメソッドをチェックしたいと思います。 PHPファクトリパターン依存性注入

  1. がフォーマット の$ configに私の 'コアクラス' のために必要なすべてのプロパティと設定ファイルを作成する私の意図した流れは以下のようになり

    ... [ 'core.classname'] [ 'PROPERTY_NAME '] = $ value;

  2. すべての私のコアクラスのインスタンスを作成し、各クラスに私のアプリは、クラスのインスタンスを必要とする

  3. にしてプロパティを注入する設定ファイルを介して実行するファクトリクラスを作成し、それを使用しています依存関係が注入されている必要なクラスをクローン化するためのファクトリクラス。

私の理解するように、これは私のコアクラスを切り離し、コードのスワップアウトを容易にします。

答えて

2

あなたが「工場」と呼んでいるのは、本当に依存性注入容器のほうがはるかに多いものです。ファクトリは伝統的に1種類のオブジェクトしか作成しません。

通常、アプリケーションに実際に必要となるまでコアインスタンスを作成しないでください。特定のアプリリクエストにはカップルだけが必要な100のコアクラスが定義されている場合があります。

多くの場合、アプリは同じインスタンスまたはコアクラスを共有したいので、自動クローニングはおそらくあなたが望むものではありません。 http://symfony.com/doc/current/book/service_container.html

は、サービス(あなたがコアと呼んでいるもの)のアイデアのためのSymfony2のフレームワークパッケージの章を読んで考えてみましょう