Odwrócenie sterowania

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.

Odwrócenie sterowania a wstrzykiwanie zależności 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 edytuj

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