私は長い間、疎結合コードを得るためにInterface/Inheritanceベースの多型を使ってアプリケーションを設計してきました。私が見る限りでは(これまでのところ)、DIフレームワーク/ IoCはこれをより簡単にするためのツールを提供しているにすぎませんが、抽象度のレベルが上がっているように見えます。Interface by IoC/DI
私が考えることができる唯一の理由は、大規模なチームが特定のDI/IoCフレームワークを既に知っていて、誰もが同じページにいる可能性があるということです。
私の見解では、DIはインターフェイスと同じデザインをしているようですが、それ以上のことがあると誰も私に説明できますか?DI/IoCフレームワークを使用する方が良い戦略ですか?
DI/IoCについて間違っていることを本当に願っています。
おかげさまで、オーバーヘッドで私は概念的に意味がありますが、パーフェクトヒットは非常に小さいと認識していますが、一般的なアプリケーションドメインではごくわずかです。 - ところで、私は新しいプロジェクトでNinject(C#/ .Net)を使うことを検討しています。 – ocodo
@slomojo:その場合、コンテナがコスト/便益を適切に分析せずに投げ捨てるようなあらゆる種類のトリッキーを使って[ab]に気をつけない限り、DIコンテナは新しいあなたのコードをより柔軟にするためのステートメント平均的な開発者が理解する必要があるのは、DIバインディングだけです。しかし、それでも多くのことをしても、システムのさまざまな領域にわたるカップリングについて意識的に考える必要はありません。 –
@slomojo:@Mark Seemann(良いDIアドバイスが必要な場合は、ここで彼の最高評価の記事を読むことをお勧めします)はすぐに出てくる本を持っています(私は自分自身を楽しみにしています) - http:// manning .com /あなたに有益かもしれないシスタン。それは、一般的に(特定のコンテナの処理と共に)依存関係管理に関わるすべての微妙なパターンをカバーします。うまくいけば、他の人たちもいくつかの情報でチャイムします。 –