私は仕事で依存性注入(DI)をパターンとして導入しようとしていますが、私たちのリード開発者の一人が知りたいのは、もしあれば、それを使用することの欠点は何ですか?依存性注入パターン?
注意: ここで私が求めているのは、このトピックに関する主観的な議論ではなく、可能であれば網羅的なリストです。
説明: 依存性注入パターンについて話しているのです(この記事特定のフレームワークではなく、XMLベース(マーティン・ファウラー著)春)またはコードベース(ギース)、または「セルフロール」と呼ばれます。
さらなる素晴らしい議論/暴言/討論が進行中ですReddit のサブレディット/r/programming。
ベストアンサー1
いくつかのポイント:
- DIは、通常、責任がさらに分離されるためクラスの数が増え、複雑さが増しますが、必ずしも有益ではありません。
- あなたのコードは、あなたが使用する依存性注入フレームワーク(または、より一般的には、DIパターンを実装する方法)に(ある程度)結合されます。
- DI コンテナや型解決を実行するアプローチでは、通常、実行時にわずかなペナルティが発生します (ごくわずかですが、存在します)
一般的に、分離の利点は、各タスクの読み取りと理解が容易になることですが、より複雑なタスクを調整する複雑さが増すことです。