Low Coupling w zasadach GRASP
Ograniczenie zakresu zmian.
Problem:
Jak ograniczyć zakres zmian w systemie w momencie zmiany fragmentu systemu?
Rozwiązanie:
Deleguj odpowiedzialności tak, aby zachować jak najmniejsza liczbę powiązań pomiędzy klasami.
Komentarz:
W przypadku wielu powiązań zmiana w jednej klasie, powoduje wiele zmian w innych klasach. Klasy powinny być od siebie jak najbardziej niezależne. Klasa która ma za dużo powiązań prawdopodobnie jest „przeciążona” obowiązkami, co implikuje złamanie kolejnej zasady czyli
High Cohesion.
Klasy A i B są ze sobą powiązane, gdy:
- obiekt A ma atrybut typu B lub typu C związanego z B,
- obiekt A wywołuje metody obiektu typu B,
- obiekt A ma metodę związaną z typem B (zmienna lokalna, typ wartości/parametru),
- obiekt A dziedziczy po B.
Komentarze facebook (polub nasz profil na FB aby je zobaczyć):