Privacy Policy Cookie Policy Terms and Conditions Inversion of Control - Wikipedia

Inversion of Control

aus Wikipedia, der freien Enzyklopädie

Der Begriff Inversion of Control (IOC; deutsch: „Umkehrung der Kontrolle“) bezeichnet ein Umsetzungsparadigma, das in der Objektorientierten Programmierung Anwendung findet.

Dieses Paradigma beschreibt die Arbeitsweise von Frameworks: eine Funktion eines Anwendungsprogramms wird bei einer Standardbibliothek registriert, und von dieser zu einem späteren Zeitpunkt aufgerufen. Das wird manchmal als eine Anwendung des „Hollywood-Prinzips“ bezeichnet: "don't call us, we'll call you" (zu deutsch: „Rufen Sie uns nicht an, wir rufen Sie an“): statt dass die Anwendung den Kontrollfluss steuert und lediglich Standardfunktionen benutzt, wird die Kontrolle über die Ausführung bestimmter Unterprogramme an das Framework abgegeben.

Inversion of Control ist besonders in der Programmiersprache Java verbreitet. Ein einfaches Beispiel einer solchen Umkehrung sind Listener (gemäß dem Beobachter-Muster), aber auch Applets und Servlets folgen diesem Entwurfsmuster. Plugins und Rückruffunktionen sind weitere Beispiele dafür, die Kontrolle über einzelne Programmteile einem Framework zu überlassen.

Häufig ist auch bei Containern, die mit Dependency Injection arbeiten, von Inversion of Control zu lesen, hier geht es aber vorwiegend um die Erzeugung von Objektnetzen. (s.a. Fabrikmuster)

Static Wikipedia 2008 (no images)

aa - ab - af - ak - als - am - an - ang - ar - arc - as - ast - av - ay - az - ba - bar - bat_smg - bcl - be - be_x_old - bg - bh - bi - bm - bn - bo - bpy - br - bs - bug - bxr - ca - cbk_zam - cdo - ce - ceb - ch - cho - chr - chy - co - cr - crh - cs - csb - cu - cv - cy - da - de - diq - dsb - dv - dz - ee - el - eml - en - eo - es - et - eu - ext - fa - ff - fi - fiu_vro - fj - fo - fr - frp - fur - fy - ga - gan - gd - gl - glk - gn - got - gu - gv - ha - hak - haw - he - hi - hif - ho - hr - hsb - ht - hu - hy - hz - ia - id - ie - ig - ii - ik - ilo - io - is - it - iu - ja - jbo - jv - ka - kaa - kab - kg - ki - kj - kk - kl - km - kn - ko - kr - ks - ksh - ku - kv - kw - ky - la - lad - lb - lbe - lg - li - lij - lmo - ln - lo - lt - lv - map_bms - mdf - mg - mh - mi - mk - ml - mn - mo - mr - mt - mus - my - myv - mzn - na - nah - nap - nds - nds_nl - ne - new - ng - nl - nn - no - nov - nrm - nv - ny - oc - om - or - os - pa - pag - pam - pap - pdc - pi - pih - pl - pms - ps - pt - qu - quality - rm - rmy - rn - ro - roa_rup - roa_tara - ru - rw - sa - sah - sc - scn - sco - sd - se - sg - sh - si - simple - sk - sl - sm - sn - so - sr - srn - ss - st - stq - su - sv - sw - szl - ta - te - tet - tg - th - ti - tk - tl - tlh - tn - to - tpi - tr - ts - tt - tum - tw - ty - udm - ug - uk - ur - uz - ve - vec - vi - vls - vo - wa - war - wo - wuu - xal - xh - yi - yo - za - zea - zh - zh_classical - zh_min_nan - zh_yue - zu -