Symfony2で新たに導入されたメイン機能の1つにDependency Injection(以降DI)がある。これも、独立したコンポーネントとして公開されており、Symfony2に組み込まれている。 DIとは、直訳すると「依存性の注入」という意味であり、エンタープライズJavaのフレームワークでは良く耳にするアーキテクチャである。DIは、コンポーネント間の依存関係を排除し、外部から依存性を注入する(一般には設定ファイルなど)ことで、コンポーネントとしての独立性を向上させ再利用性を高めるソフトウェアのデザインパターンのことらしい。「設定を利用から分離する」という考え方が設計の根底にある。 Dependency Injection DIの基本的な思想は、「依存関係を排除し、外部から注入する」であるが、単純な例から考察してみる。Symfony2 Dependency Injectionを参考に