これは私のコードです(もちろん、単なる例です):
Employee manager = new DefaultEmployee(/* dependencies */);
Budget budget = new DefaultBudget(/* dependencies */);
Project project = new DefaultProject(manager, budget);
DefaultProject
と に依存しEmployee
てBudget
いる、それらは何か他のものに依存している、などなど。(例のように) ハードコードすることも、何らかの構成 (XML または YAML など) と実行時にそのような階層を作成できるビルダーを使用することもできます。Spring Framework 以外に利用可能なソリューションはありますか?
依存性注入を提供しないでください。
コンシューマにはコンテナへのリンクがないため、このスニペットは依存性注入の設計パターンとは何の関係もありません。さらに、コンテナーはまったくなく (これは DI パターンの静的コンポーネントであり、OOP 原則の残忍な違反です)、制御の反転はありません。