Tak jak w temacie, jaka jest roznica miedzy zdarzeniem a funkcja zwrotna, prosze o jakiś przykła i zastosowanie.
Wiem tyle, ze funkcja zwrotna jest zapewnienie obiektowi kontroli nad, kto zostanie poinformowany, natomiast w zdarzeniach poprzez dodanie procedury obslugi, to inne obiekty zadaly, by je informowano.
Różnica jest głównie składniowa i to co z niej wynika.
Pod względem semantycznym jest to samo, czyli wprost przeciwnie do tego co napisałeś.
W obu przypadkach mamy odwrócone sterowanie, obiekt nie wie jaką dostanie funkcję zwrotną/callback do wywołania ani jakie event handlery będę subskrybować danego eventa.
Także obiekt o niczym nie decyduje w obu wypadkach, obiekt tylko wywołuje odpowiedniego callbacka lub zgłasza odpowiedni event, co w obu przypadkach sprowadza się do tego samego, czyli wywołania metody dostarczonej z zewnątrz do obiektu.
Odwrócone sterowanie czyli taki kontener IoC?
Biały Ogrodnik napisał(a):
Odwrócone sterowanie czyli taki kontener IoC?
Odwrócone sterowanie jest ogólnym wzorcem, jego konkretne implementacje to:
- dependency injection
- dependecy inversion
- eventy
- programowanie aspektowe
- monady
kontenery IoC ułatwiają/umożliwiają stosowanie przynajmniej jednej z powyższych implementacji odwróconego sterowania, zwykle jest to dependency injection, czasami jeszcze aspekty.
Dzięki wielkie ;)
Co to jest funkcja zwrotna ?
W C# są funkcje zwrotne ?
Tak na przyszłość, jak zadajesz pytania to napisz o jakie konkretnie języki ci chodzi .
Oczywiście, że w C# są callbacki. Callback to nic innego jak delegat przekazany jako parametr funkcji.