Zpo-13-wyk-Slajd14

Z Studia Informatyczne
Wersja z dnia 07:43, 21 sie 2006 autorstwa Bwalter (dyskusja | edycje)
(różn.) ← poprzednia wersja | przejdź do aktualnej wersji (różn.) | następna wersja → (różn.)
Przejdź do nawigacjiPrzejdź do wyszukiwania

Odwrócone rozwiązywanie zależności

Odwrócone rozwiązywanie zależności


Rozwiązaniem zdecydowanie zmieniającym układ zależności jest wprowadzenie odwróconego sterowania (ang. Inversion of Control , IOC). Polega ono na innym przydziale odpowiedzialności do poszczególnych komponentów.

Komponenty stają się pasywne, tj. nie tworzą samodzielnie innych komponentów, tylko je odbierają od innego obiektu. W ten sposób są pozbawione wpływu na sposób zarządzania ich instancjami.

Ponadto, dominującą rolę przejmuje nowy uczestnik interakcji – kontener, nazywany często kontenerem IoC. Jego rola polega na zarządzaniu tworzeniem wszystkich komponentów oraz dostarczaniu gotowych instancji klientowi. Komponenty, chcąc rozwiązać swoje zależności, zlecają tę czynność kontenerowi, który zna wszystkie komponenty (przechowuje ich konfigurację w rejestrze) i może dostarczyć ich instancje.

W tym układzie rola klienta nie ulega zmianie, jednak możliwość konfiguracji i wpływu na zachowanie komponentów jest znacznie poprawiona. Zamiast bezpośrednich powiązań pomiędzy implementacjami komponentów, zależą one od kontenera, którego konfiguracja decyduje o utworzeniu ich instancji.


<< Poprzedni slajd | Spis treści | Następny slajd >>