9
依存性注入:フレームワークを使用する必要がありますか?
私は最近、依存関係の注入を頻繁に行うPythonプロジェクトに取り組みました(アプリをテスト可能にするために必要なため)が、フレームワークは使用しませんでした。すべての依存関係を手動で接続するのは少し面倒ですが、全体的にはうまくいきました。 オブジェクトを複数の場所で作成する必要があった場合、実稼働インスタンスを作成する関数(場合によってはそのオブジェクトのクラスメソッド)が必要でした。この関数は、そのオブジェクトが必要になるたびに呼び出されました。 テストでは、同じことを行いました。オブジェクトの「テストバージョン」を複数回作成する必要がある場合(つまり、モックオブジェクトに裏付けられた実際のインスタンス)、この「テストバージョン」を作成する機能がありました。クラスで、テストで使用されます。 私が言ったように、一般的にこれはうまくいきました。 私は現在、新しいJavaプロジェクトに参加しています。DIフレームワークを使用するか、DIを手動で実行するかを決定しています(前のプロジェクトのように)。 DIフレームワークでの作業がどのように異なり、手動の「バニラ」依存性注入よりも優れているか悪いかを説明してください。 編集:私も質問に追加したいと思います:フレームワークなしで手動でDIを行う「プロレベル」プロジェクトを目撃しましたか?