IoC の利点と欠点
出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2020/10/04 03:18 UTC 版)
「制御の反転」には他の抽象化技法と同じように利点と欠点がある。大まかに言えば、特定のタスクは単純化されるが、アプリケーションの協調動作はより複雑になる。デビッド・ホイーラーの有名な格言に「計算機科学の全ての問題は別のレベルへのインダイレクションで解決できる」という言葉がある。この言葉の「インダイレクション」を「抽象化 (abstraction)」と間違って引用していることが多い。Kevlin Henney によるこの格言の系(corollary)として「…ただし、レイヤーが多すぎるせいで発生する問題を除く」という言葉もある。 同じことは「制御の反転」にも言える。Robert C. Martin の記事にあるコードを例に説明すると、最終的なコードには5つのクラスが定義されているが、手続き型プログラミングならこれを1つのメソッド(ルーチン)で実装できる。「制御の反転」は2つの実装を互いに分離するという利点があるが、同時に全体として協調動作させるときに複雑さが増す。
※この「IoC の利点と欠点」の解説は、「制御の反転」の解説の一部です。
「IoC の利点と欠点」を含む「制御の反転」の記事については、「制御の反転」の概要を参照ください。
- IoC の利点と欠点のページへのリンク