Odwrócenie sterowania

Z Wikipedii, wolnej encyklopedii
Skocz do: nawigacja, szukaj

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 framework’u. 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.

Dyskusja[edytuj]

  • Termin ten jest najczęściej utożsamiany z wstrzykiwaniem zależności. Tymczasem wstrzykiwanie zależności jest tylko jednym z przykładów realizacji IoC (w tym przypadku sterowanie zostaje odwrócone w obszarze tworzenia powiązań pomiędzy obiektami). Termin „Wstrzykiwanie zależności” został wymyślony [1] w celu rozróżnienia pomiędzy tymi dwoma terminami. Wiele osób wskazuje, że formami IoC są również programowanie aspektowe oraz wzorzec strategii.
  • Wiele osób utożsamia wzorzec IoC z biblioteką Spring Framework. W rzeczywistości koncepcja IoC jest znacznie starsza niż Spring. Spring jest jedną z implementacji, podobnie jak są nimi PicoContainer, Plexus framework, itp.

Przypisy

  1. http://www.martinfowler.com/articles/injection.html Martin Fowler, „Inversion of Control Containers and Dependency Injection Pattern

Zobacz też[edytuj]