2010-11-23 15 views

答えて

3

いいえ、それらは非常に異なります。依存性注入とは、「自分の仕事をするために必要なすべてのオブジェクトを私に渡す」という意味です。良い反例は、他のシングルトンクラスを使用するクラス、または他のハードコードされた依存関係を持つクラスです。

ミックスインは基本的にオブジェクトまたはクラスで、既存のオブジェクトまたはクラスとマージして、そのオブジェクトのコンシューマにその動作を提供することができます。

+1

もう一つのDIの例は、クラス内の* new *です。追加(PHPではmixinsは存在しません) – KingCrunch

+1

@KingCrunch:はい、 'new'をうまくキャッチします。 mixinに関しては、 '__call'マジックメソッドを使ってPHPでシミュレートすることができます。 – cdhowie

+1

ネイティブではありませんが、ユーザランドに実装されています(symfonyフレームワークの例、sfMixerクラスがあります) – johnjohn

関連する問題