制御の反転とは? わかりやすく解説

Weblio 辞書 > 辞書・百科事典 > 百科事典 > 制御の反転の意味・解説 

制御の反転

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2022/12/15 06:28 UTC 版)

コンピュータプログラミングの用語で制御の反転(Inversion of Control、IoC)とは、なんらかの種類のプログラムにおいて、プロシージャを「呼び出す側」と「呼び出される側」が、従来のプログラムとは逆になるようにする、ということである。たとえば従来の、シェルのコマンドで実行される古典的なアプリケーションではメインループが最上位で動いており、そこからライブラリなどのAPIを呼ぶのに対し、ウェブブラウザ中で実行されるJavaScriptアプリケーションでは、各種のハンドラがブラウザから呼ばれてアプリケーションが動く、というのも大きく見ればそのような「反転」の一種と言える。これが使われる一例としては、プログラムのモジュール化を促進して、その拡張性を高めるために用いられている [1]。用語として Inversion of Control を略した IoC を広めたのはロバート・マーティンとマーティン・ファウラーらである。IoC は彼らの「依存性反転原則」とは関係しているが異なるものである。依存性反転原則は、共有された抽象化を通じて、高次と低次の抽象化レイヤー間の結合度を下げることを示している。従来からのプログラミングでは、フローはコードの中核部分で制御されている。IoCを使うと、これが全く変わってくる。呼び出し側は応答を得るが、いつどのようにして応答を得るかは呼び出し側が制御できない。逆に呼び出された側がいつどのようにして応えるかを決定する。


  1. ^ Ralph E. Johnson & Brian Foote (June?July 1988). “Designing Reusable Classes”. Journal of Object-Oriented Programming, Volume 1, Number 2. Department of Computer Science University of Illinois at Urbana-Champaign. pp. 22?35. 2014年4月29日閲覧。
  2. ^ Dependency Injection.
  3. ^ エリック・フリーマン、エリザベス・フリーマン、キャシー・シエラ、バート・ベイツ 『Head First デザインパターン』オライリー・ジャパン、2005年、296 - 298頁。ISBN 4-87311-249-4 
  4. ^ Inversion of Control on Martin Fowler's Bliki - Martin Fowler
  5. ^ Design pattern – Inversion of control and Dependency injection - Shivprasad Koirala
  6. ^ Design Better Software with the Inversion of Control Pattern - Mani Malarvannan
  7. ^ a b The Dependency Inversion principle - Robert C. Martin
  8. ^ Inversion of Control Containers and the Dependency Injection Pattern - Martin Fowler
  9. ^ IoC Types
  10. ^ Tanenbaum, Andrew S. (1979). Structured Computer Organization. Englewood Cliffs, New Jersey: Prentice-Hall. ISBN 0-13-148521-0 


「制御の反転」の続きの解説一覧



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「制御の反転」の関連用語

制御の反転のお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



制御の反転のページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアの制御の反転 (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。

©2024 GRAS Group, Inc.RSS