Kategorie szkoleń | Egzaminy | Kontakt

Odpowiedź (1)

  • 0

Sprzężenie (coupling) - miara współzależności pomiędzy komponentami, jak mocno są ze sobą związane

brak zależności

luźne sprzężenie
nieliczne zależności

silne sprzężenie
wiele zależności


Typy sprzężenia

silne sprzężenie
(high coupling, tight coupling)
a) sprzężenie zawartości (content coupling, pathological coupling)
  • jeden komponent bezpośrednio modyfikuje dane innego komponentu
  • działanie komponentu zależy od wewnętrznego działania innego komponentu (jego lokalnych danych)
  • zmiana sposobu dostarczania tych danych spowoduje konieczność zmian w zależnym komponencie
b) globalne sprzężenie (common coupling, global coupling)
  • wiele komponentów współdzieli dane (np. globalne struktury danych)
  • zmiana danych prowadzi do zmian w komponentach korzystających z tych danych
  • brak jednoznacznego okreslenia odpowiedzialności za dane
  • trudno okreslić które komponenty dotknie zmiana danych (słaba czytelność, trudne utrzymanie)
  • kłopotliwa kontrola dostępu do danych
luźne sprzężenie
(loose coupling)

a) sprzężenie zewnętrzne (external coupling)
  • dwa komponenty współdzielą narzucony z zewnątrz format danych, protokół, interfejs urządzenia, zewnętrzny plik
  • zwykle dotyczy komunikacji pomiędzy urządzeniami lub narzędziami
b) sprzężenie sterowania (control coupling)
  • komponent przekazuje zależnym komponentom parametry sterowania, określające co mają robić
  • np. przekazanie komparatora do metody sortującej
c) sprzężenie struktur danych (stamp coupling, data-structured coupling)
  • komponent przekazuje strukturę danych innemu komponentowi, do której on samodzielnie nie ma dostępu
  • komponent uzyskuje dostęp do większej ilości danych niż potrzebuje
  • musi znać implementację struktury
niskie sprzężenie
(low coupling)
a) sprzężenie danych (data coupling)
  • komponent przekazuje innemu komponentowi dane (w postaci parametrów, a nie struktur danych)
b) brak sprzężenia (no coupling)
  • komponnety nie komunikują się ze sobą
  • takie komponenty nie tworzą systemów (systemy składają się ze współpracujących komponentów)
  • Odpowiedział
  • @ | 04.12.2015
  • TRENER MODERATOR ALTKOM AKADEMII