An Entity of Type: music genre, from Named Graph: http://dbpedia.org, within Data Space: dbpedia.org:8891

In software engineering, inversion of control (IoC) is a programming principle. IoC inverts the flow of control as compared to traditional control flow. In IoC, custom-written portions of a computer program receive the flow of control from a generic framework. A software architecture with this design inverts control as compared to traditional procedural programming: in traditional programming, the custom code that expresses the purpose of the program calls into reusable libraries to take care of generic tasks, but with inversion of control, it is the framework that calls into the custom, or task-specific, code.

Property Value
dbo:abstract
  • في هندسة البرمجيات، يعد عكس التحكم (IoC) (بالإنجليزية: inversion of control)‏ مبدأ في البرمجة. يعكس IoC تدفق التحكم flow of control مقارنة بتدفق التحكم التقليديtraditional control flow. في IoC ، تتلقى أجزاء مكتوبة خصيصًا custom-written portions من برنامج الكمبيوتر تدفق التحكم من إطار عامgeneric framework. إن هندسة البرمجيات software architectureمع هذا التصميم تعكس التحكم مقارنة بالبرمجة الإجرائية procedural programming التقليدية: في البرمجة التقليدية، الرمز code المخصص الذي يعبر عن الغرض من البرنامج يستدعي callsمكتبات libraries قابلة لإعادة الاستخدام لرعاية المهام العامة generic tasks، ولكن مع عكس التحكم، فهو الإطارframework الذي يستدعي الرمز code المخصصcustom أو الخاص بالمهمة task-specific. يستخدم عكس التحكم لزيادة نمطيةmodularity البرنامج وجعله قابلاً للتوسيع extensible، ولديه تطبيقات في البرمجة الشيئيةobject-oriented programming ونماذج البرمجة programming paradigmsالأخرى. استخدم مايكل ماتسونMichael Mattsson هذا المصطلح في أطروحة، مأخوذة من هناك بواسطة ستيفانو مازوتشي Stefano Mazzocchiوشاعه في عام 1999 في مشروع مؤسسة برمجيات أباتشي البائدdefunct Apache Software Foundation project ، أفالون-Avalon> ، ثم تم تعميمه في عام 2004 من قبل روبرت سي مارتن Robert C. Martinو مارتن فاولرMartin Fowler . يرتبط المصطلح بمبدأ انقلاب التبعية dependency inversion principle، ولكنه يختلف عنه، والذي يهتم بفصل التبعياتdecoupling dependencies بين الطبقات عالية المستوى ومنخفضة المستوى high-level and low-level layers من خلال التجريداتabstractions المشتركة. يرتبط المفهوم العام أيضًا بالبرمجة القائمة على الأحداثevent-driven programming من حيث أنه غالبًا ما يتم تنفيذه باستخدام IoC ، بحيث لا يهتم الرمز المخصصcustom code عادة إلا بمعالجة الأحداث handling of events، في حين يتم التعامل مع حلقة الأحداث event loopوإرسال dispatchالأحداث / الرسائل من خلال الإطارframework أو بيئة وقت التشغيل runtime environment.. (ar)
  • Der Begriff Inversion of Control (IoC, deutsch Umkehrung der Steuerung oder Steuerungsumkehr) bezeichnet ein Umsetzungsparadigma, das u. a. in der objektorientierten Programmierung Anwendung findet. Dieses Paradigma ist die Arbeitsweise von Frameworks: eine Funktion eines Anwendungsprogramms wird bei einer Standardbibliothek registriert und von dieser zu einem späteren Zeitpunkt aufgerufen. Statt dass die Anwendung den Kontrollfluss steuert und lediglich Standardfunktionen benutzt, wird die Steuerung der Ausführung bestimmter Unterprogramme an das Framework abgegeben. Ein einfaches Beispiel einer solchen Umkehrung sind Listener (gemäß dem Beobachter-Muster), aber auch Java-Applets und Servlets folgen diesem Entwurfsmuster. Plug-ins und Rückruffunktionen (callback) sind weitere Beispiele dafür, die Steuerung einzelner Programmteile einem (Framework-)Objekt zu überlassen. Häufig ist auch bei Bibliotheken, die mit Dependency Injection arbeiten (wie z. B. EJB-Container oder dem Spring-Framework), von Inversion of Control zu lesen. Hier geht es aber vorwiegend um die Erzeugung von Objektnetzen. (de)
  • In software engineering, inversion of control (IoC) is a programming principle. IoC inverts the flow of control as compared to traditional control flow. In IoC, custom-written portions of a computer program receive the flow of control from a generic framework. A software architecture with this design inverts control as compared to traditional procedural programming: in traditional programming, the custom code that expresses the purpose of the program calls into reusable libraries to take care of generic tasks, but with inversion of control, it is the framework that calls into the custom, or task-specific, code. Inversion of control is used to increase modularity of the program and make it extensible, and has applications in object-oriented programming and other programming paradigms. The term was used by Michael Mattsson in a thesis, taken from there by Stefano Mazzocchi and popularized by him in 1999 in a defunct Apache Software Foundation project, Avalon, then further popularized in 2004 by Robert C. Martin and Martin Fowler. The term is related to, but different from, the dependency inversion principle, which concerns itself with decoupling dependencies between high-level and low-level layers through shared abstractions. The general concept is also related to event-driven programming in that it is often implemented using IoC so that the custom code is commonly only concerned with the handling of events, whereas the event loop and dispatch of events/messages is handled by the framework or the runtime environment. (en)
  • Inversión de control (Inversion of Control en inglés, IoC) es un principio de diseño de software en el que el flujo de ejecución de un programa se invierte respecto a los métodos de programación tradicionales. En los métodos de programación tradicionales la interacción se expresa de forma imperativa haciendo llamadas a procedimientos o funciones. Tradicionalmente el programador especifica la secuencia de decisiones y procedimientos que pueden darse durante el ciclo de vida de un programa mediante llamadas a funciones. En su lugar, en la inversión de control se especifican respuestas deseadas a sucesos o solicitudes de datos concretas, dejando que algún tipo de entidad o arquitectura externa lleve a cabo las acciones de control que se requieran en el orden necesario y para el conjunto de sucesos que tengan que ocurrir. Esta nueva filosofía es muy útil cuando se usan frameworks de desarrollo. Es el framework el que toma el control, el que define el flujo de actuación o el ciclo de vida de una petición. Es decir, es el framework quien ejecuta el código de usuario.​ La inversión de control es un término genérico que puede implementarse de diferentes maneras. Por ejemplo se puede implementar mediante eventos o mediante Inyección de Dependencias.​ (es)
  • L’inversion de contrôle (inversion of control, IoC) est un patron d'architecture commun à tous les frameworks (ou cadre de développement et d'exécution). Il fonctionne selon le principe que le flot d'exécution d'un logiciel n'est plus sous le contrôle direct de l'application elle-même mais du framework ou de la couche logicielle sous-jacente. L’inversion de contrôle est un terme générique. Selon le problème, il existe différentes formes, ou représentation d'IoC, le plus connu étant l'injection de dépendances (dependency injection) qui est un patron de conception permettant, en programmation orientée objet, de découpler les dépendances entre objets. (fr)
  • コンピュータプログラミングの用語で制御の反転(Inversion of Control、IoC)とは、なんらかの種類のプログラムにおいて、プロシージャを「呼び出す側」と「呼び出される側」が、従来のプログラムとは逆になるようにする、ということである。たとえば従来の、シェルのコマンドで実行される古典的なアプリケーションではメインループが最上位で動いており、そこからライブラリなどのAPIを呼ぶのに対し、ウェブブラウザ中で実行されるJavaScriptアプリケーションでは、各種のハンドラがブラウザから呼ばれてアプリケーションが動く、というのも大きく見ればそのような「反転」の一種と言える。これが使われる一例としては、プログラムのモジュール化を促進して、その拡張性を高めるために用いられている。用語として Inversion of Control を略した IoC を広めたのはとマーティン・ファウラーらである。IoC は彼らの「依存性反転原則」とは関係しているが異なるものである。依存性反転原則は、共有された抽象化を通じて、高次と低次の抽象化レイヤー間の結合度を下げることを示している。従来からのプログラミングでは、フローはコードの中核部分で制御されている。IoCを使うと、これが全く変わってくる。呼び出し側は応答を得るが、いつどのようにして応答を得るかは呼び出し側が制御できない。逆に呼び出された側がいつどのようにして応えるかを決定する。 (ja)
  • 제어 반전, 제어의 반전, 역제어는 프로그래머가 작성한 프로그램이 재사용 라이브러리의 흐름 제어를 받게 되는 소프트웨어 디자인 패턴을 말한다. 줄여서 IoC(Inversion of Control)이라고 부른다.전통적인 프로그래밍에서 흐름은 프로그래머가 작성한 프로그램이 외부 라이브러리의 코드를 호출해 이용한다. 하지만 제어 반전이 적용된 구조에서는 외부 라이브러리의 코드가 프로그래머가 작성한 코드를 호출한다. 설계 목적상 제어 반전의 목적은 다음과 같다: * 작업을 구현하는 방식과 작업 수행 자체를 분리한다. * 모듈을 제작할 때, 모듈과 외부 프로그램의 결합에 대해 고민할 필요 없이 모듈의 목적에 집중할 수 있다. * 다른 시스템이 어떻게 동작할지에 대해 고민할 필요 없이, 미리 정해진 협약대로만 동작하게 하면 된다. * 모듈을 바꾸어도 다른 시스템에 부작용을 일으키지 않는다. (ko)
  • In programmazione, soprattutto quella ad oggetti, l'inversione del controllo (in inglese inversion of control, abbreviato in IoC) è un pattern per cui un componente di livello applicativo riceve il controllo da un componente appartenente a una libreria riusabile. Questo schema ribalta quello tradizionale della programmazione procedurale, dove il codice applicativo svolge i propri compiti richiamando (e quindi passando il controllo a) procedure di libreria. (it)
  • Инверсия управления (англ. Inversion of Control, IoC) — важный принцип объектно-ориентированного программирования, используемый для уменьшения зацепления (связанности) в компьютерных программах. Также архитектурное решение интеграции, упрощающее расширение возможностей системы, при котором поток управления программы контролируется фреймворком. В обычной программе программист сам решает, в какой последовательности делать вызовы процедур. Но если используется фреймворк, программист может разместить свой код в определенных точках выполнения (используя callback или другие механизмы), затем запустить «главную функцию» фреймворка, которая обеспечит все выполнение и вызовет код программиста тогда, когда это будет необходимо. Как следствие, происходит утеря контроля над выполнением кода — это и называется инверсией управления (фреймворк управляет кодом программиста, а не программист управляет фреймворком). Инверсия управления бывает не только в фреймворках, но и в некоторых библиотеках (но обычно библиотеки не создают инверсии управления — они предоставляют набор функций, которые должен вызывать программист). (ru)
  • Inversion of Control eller IoC är inom programmering ett designmönster (eller utvecklingsmetod) för att hantera beroenden samt konfigurering av beroenden för ett visst objekt. Istället för att låta objektet själv instansiera en viss typ av klass känner objektet endast till ett visst gränssnitt (interface) - som bestäms av klienten. (sv)
  • Inversão de controle PB ou Inversão de controloPE (Inversion of Control ou IoC, em inglês) é um princípio de design de programas de computadores onde a sequência (controle) de chamadas dos métodos é invertida em relação à programação tradicional, ou seja, ela não é determinada diretamente pelo programador. Este controle é delegado a uma infraestrutura de software muitas vezes chamada de ou a qualquer outro componente que possa tomar controle sobre a execução. Esta é uma característica muito comum a alguns frameworks. (pt)
  • Odwrócenie sterowania (ang. Inversion of Control, IoC) – paradygmat (czasami rozważany też jako wzorzec projektowy lub wzorzec architektury) polegający na przeniesieniu funkcji sterowania wykonywaniem programu do używanego frameworku. Framework w odpowiednich momentach wywołuje kod programu stworzony przez programistę w ramach implementacji danej aplikacji. Odbiega to od popularnej metody programowania, gdzie programista tworzy kod aplikacji, który steruje jej zachowaniem. Następnie używa we własnym modelu sterowania bibliotek dostarczonych przez framework. (pl)
  • Інверсія керування (англ. Inversion of Control, IoC) — це принцип побудови програми, при якому її частини отримують потік керування (викликаються) із загальної спільновикористовуваної бібліотеки. Це ніби звичайне процедурне програмування вивернуте навиворіт (inversed). Також це називають «голлівудським принципом»: «Не дзвоніть нам, ми подзвонимо вам». Однією з реалізацій IoC є впровадження залежностей (англ. Dependency Injection), що використовується в багатьох фреймворках, вони називаються IoC контейнери. Використовуються в таких об'єктно-орієнтованих мовах програмування, як Smalltalk, C++, Java, PHP або мови платформи .NET. (uk)
  • 控制反转(英語:Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。 (zh)
dbo:wikiPageExternalLink
dbo:wikiPageID
  • 1589554 (xsd:integer)
dbo:wikiPageLength
  • 13312 (xsd:nonNegativeInteger)
dbo:wikiPageRevisionID
  • 1124780237 (xsd:integer)
dbo:wikiPageWikiLink
dbp:wikiPageUsesTemplate
dcterms:subject
rdf:type
rdfs:comment
  • コンピュータプログラミングの用語で制御の反転(Inversion of Control、IoC)とは、なんらかの種類のプログラムにおいて、プロシージャを「呼び出す側」と「呼び出される側」が、従来のプログラムとは逆になるようにする、ということである。たとえば従来の、シェルのコマンドで実行される古典的なアプリケーションではメインループが最上位で動いており、そこからライブラリなどのAPIを呼ぶのに対し、ウェブブラウザ中で実行されるJavaScriptアプリケーションでは、各種のハンドラがブラウザから呼ばれてアプリケーションが動く、というのも大きく見ればそのような「反転」の一種と言える。これが使われる一例としては、プログラムのモジュール化を促進して、その拡張性を高めるために用いられている。用語として Inversion of Control を略した IoC を広めたのはとマーティン・ファウラーらである。IoC は彼らの「依存性反転原則」とは関係しているが異なるものである。依存性反転原則は、共有された抽象化を通じて、高次と低次の抽象化レイヤー間の結合度を下げることを示している。従来からのプログラミングでは、フローはコードの中核部分で制御されている。IoCを使うと、これが全く変わってくる。呼び出し側は応答を得るが、いつどのようにして応答を得るかは呼び出し側が制御できない。逆に呼び出された側がいつどのようにして応えるかを決定する。 (ja)
  • 제어 반전, 제어의 반전, 역제어는 프로그래머가 작성한 프로그램이 재사용 라이브러리의 흐름 제어를 받게 되는 소프트웨어 디자인 패턴을 말한다. 줄여서 IoC(Inversion of Control)이라고 부른다.전통적인 프로그래밍에서 흐름은 프로그래머가 작성한 프로그램이 외부 라이브러리의 코드를 호출해 이용한다. 하지만 제어 반전이 적용된 구조에서는 외부 라이브러리의 코드가 프로그래머가 작성한 코드를 호출한다. 설계 목적상 제어 반전의 목적은 다음과 같다: * 작업을 구현하는 방식과 작업 수행 자체를 분리한다. * 모듈을 제작할 때, 모듈과 외부 프로그램의 결합에 대해 고민할 필요 없이 모듈의 목적에 집중할 수 있다. * 다른 시스템이 어떻게 동작할지에 대해 고민할 필요 없이, 미리 정해진 협약대로만 동작하게 하면 된다. * 모듈을 바꾸어도 다른 시스템에 부작용을 일으키지 않는다. (ko)
  • In programmazione, soprattutto quella ad oggetti, l'inversione del controllo (in inglese inversion of control, abbreviato in IoC) è un pattern per cui un componente di livello applicativo riceve il controllo da un componente appartenente a una libreria riusabile. Questo schema ribalta quello tradizionale della programmazione procedurale, dove il codice applicativo svolge i propri compiti richiamando (e quindi passando il controllo a) procedure di libreria. (it)
  • Inversion of Control eller IoC är inom programmering ett designmönster (eller utvecklingsmetod) för att hantera beroenden samt konfigurering av beroenden för ett visst objekt. Istället för att låta objektet själv instansiera en viss typ av klass känner objektet endast till ett visst gränssnitt (interface) - som bestäms av klienten. (sv)
  • Inversão de controle PB ou Inversão de controloPE (Inversion of Control ou IoC, em inglês) é um princípio de design de programas de computadores onde a sequência (controle) de chamadas dos métodos é invertida em relação à programação tradicional, ou seja, ela não é determinada diretamente pelo programador. Este controle é delegado a uma infraestrutura de software muitas vezes chamada de ou a qualquer outro componente que possa tomar controle sobre a execução. Esta é uma característica muito comum a alguns frameworks. (pt)
  • Odwrócenie sterowania (ang. Inversion of Control, IoC) – paradygmat (czasami rozważany też jako wzorzec projektowy lub wzorzec architektury) polegający na przeniesieniu funkcji sterowania wykonywaniem programu do używanego frameworku. Framework w odpowiednich momentach wywołuje kod programu stworzony przez programistę w ramach implementacji danej aplikacji. Odbiega to od popularnej metody programowania, gdzie programista tworzy kod aplikacji, który steruje jej zachowaniem. Następnie używa we własnym modelu sterowania bibliotek dostarczonych przez framework. (pl)
  • 控制反转(英語:Inversion of Control,缩写为IoC),是面向对象编程中的一种设计原则,可以用来减低计算机代码之间的耦合度。其中最常见的方式叫做依赖注入(Dependency Injection,简称DI),还有一种方式叫“依赖查找”(Dependency Lookup)。 (zh)
  • في هندسة البرمجيات، يعد عكس التحكم (IoC) (بالإنجليزية: inversion of control)‏ مبدأ في البرمجة. يعكس IoC تدفق التحكم flow of control مقارنة بتدفق التحكم التقليديtraditional control flow. في IoC ، تتلقى أجزاء مكتوبة خصيصًا custom-written portions من برنامج الكمبيوتر تدفق التحكم من إطار عامgeneric framework. إن هندسة البرمجيات software architectureمع هذا التصميم تعكس التحكم مقارنة بالبرمجة الإجرائية procedural programming التقليدية: في البرمجة التقليدية، الرمز code المخصص الذي يعبر عن الغرض من البرنامج يستدعي callsمكتبات libraries قابلة لإعادة الاستخدام لرعاية المهام العامة generic tasks، ولكن مع عكس التحكم، فهو الإطارframework الذي يستدعي الرمز code المخصصcustom أو الخاص بالمهمة task-specific. (ar)
  • Inversión de control (Inversion of Control en inglés, IoC) es un principio de diseño de software en el que el flujo de ejecución de un programa se invierte respecto a los métodos de programación tradicionales. En los métodos de programación tradicionales la interacción se expresa de forma imperativa haciendo llamadas a procedimientos o funciones. Tradicionalmente el programador especifica la secuencia de decisiones y procedimientos que pueden darse durante el ciclo de vida de un programa mediante llamadas a funciones. En su lugar, en la inversión de control se especifican respuestas deseadas a sucesos o solicitudes de datos concretas, dejando que algún tipo de entidad o arquitectura externa lleve a cabo las acciones de control que se requieran en el orden necesario y para el conjunto de su (es)
  • Der Begriff Inversion of Control (IoC, deutsch Umkehrung der Steuerung oder Steuerungsumkehr) bezeichnet ein Umsetzungsparadigma, das u. a. in der objektorientierten Programmierung Anwendung findet. Dieses Paradigma ist die Arbeitsweise von Frameworks: eine Funktion eines Anwendungsprogramms wird bei einer Standardbibliothek registriert und von dieser zu einem späteren Zeitpunkt aufgerufen. Statt dass die Anwendung den Kontrollfluss steuert und lediglich Standardfunktionen benutzt, wird die Steuerung der Ausführung bestimmter Unterprogramme an das Framework abgegeben. (de)
  • In software engineering, inversion of control (IoC) is a programming principle. IoC inverts the flow of control as compared to traditional control flow. In IoC, custom-written portions of a computer program receive the flow of control from a generic framework. A software architecture with this design inverts control as compared to traditional procedural programming: in traditional programming, the custom code that expresses the purpose of the program calls into reusable libraries to take care of generic tasks, but with inversion of control, it is the framework that calls into the custom, or task-specific, code. (en)
  • L’inversion de contrôle (inversion of control, IoC) est un patron d'architecture commun à tous les frameworks (ou cadre de développement et d'exécution). Il fonctionne selon le principe que le flot d'exécution d'un logiciel n'est plus sous le contrôle direct de l'application elle-même mais du framework ou de la couche logicielle sous-jacente. (fr)
  • Инверсия управления (англ. Inversion of Control, IoC) — важный принцип объектно-ориентированного программирования, используемый для уменьшения зацепления (связанности) в компьютерных программах. Также архитектурное решение интеграции, упрощающее расширение возможностей системы, при котором поток управления программы контролируется фреймворком. Инверсия управления бывает не только в фреймворках, но и в некоторых библиотеках (но обычно библиотеки не создают инверсии управления — они предоставляют набор функций, которые должен вызывать программист). (ru)
  • Інверсія керування (англ. Inversion of Control, IoC) — це принцип побудови програми, при якому її частини отримують потік керування (викликаються) із загальної спільновикористовуваної бібліотеки. Це ніби звичайне процедурне програмування вивернуте навиворіт (inversed). Також це називають «голлівудським принципом»: «Не дзвоніть нам, ми подзвонимо вам». (uk)
rdfs:label
  • عكس التحكم (ar)
  • Inversion of Control (de)
  • Inversión de control (es)
  • Inversion de contrôle (fr)
  • Inversione del controllo (it)
  • Inversion of control (en)
  • 制御の反転 (ja)
  • 제어 반전 (ko)
  • Odwrócenie sterowania (pl)
  • Inversão de controle (pt)
  • Инверсия управления (ru)
  • Inversion of Control (sv)
  • Інверсія управління (uk)
  • 控制反转 (zh)
owl:sameAs
prov:wasDerivedFrom
foaf:isPrimaryTopicOf
is dbo:genre of
is dbo:wikiPageDisambiguates of
is dbo:wikiPageRedirects of
is dbo:wikiPageWikiLink of
is foaf:primaryTopic of
Powered by OpenLink Virtuoso    This material is Open Knowledge     W3C Semantic Web Technology     This material is Open Knowledge    Valid XHTML + RDFa
This content was extracted from Wikipedia and is licensed under the Creative Commons Attribution-ShareAlike 3.0 Unported License