Io-6-wyk-Slajd5
Zależności pomiędzy komponentami
Komponenty są między sobą powiązane relacją zależności, ponieważ wymagają ich do realizacji własnej funkcjonalności. Zależność między A i B oznacza, że komponent A korzysta z komponentu B i zmiana w komponencie B może spowodować konieczność zmiany w A.
Ilość i jakość tych zależności ma duże znaczenie dla oceny jakości modelu i projektu: duża liczba powiązań pomiędzy komponentami, a w szczególności zależności cykliczne, w znacznym stopniu utrudniają wyznaczanie obszarów zmienności i ich hermetyzację, a co za tym idzie – podnoszą koszt pielęgnacji oprogramowania. W odróżnieniu od tego, system o dobrze zdefiniowanych interfejsach komponentów pozwala na ich wymianę bez potrzeby modyfikacji pozostałej części systemu.
Przykład przedstawiony na powyższym slajdzie pokazuje m.in., zależność komponentu Katalog (który implementuje interfejs Sortowalny, jednak nie jest w ten sposób przez żaden inny komponent wykorzystywany) od Menedżera wydawnictw. Komponent Katalog posiada także interfejs Przeszukiwanie, który jest interfejsem wymaganym przez Menedżera rozliczeń i Menedżera kryteriów. Interfejs ten stanowi punkt łączący Katalog z tymi komponentami.