Indirection w zasadach GRASP

Tworzenie pośredników.


Problem:

Komu przydzielić zobowiązanie, jeśli zależy nam na uniknięciu bezpośredniego powiązania między obiektami?

Rozwiązanie:

Przypisz te odpowiedzialności do nowego pośredniego obiektu. Obiekt ten będzie służył do komunikacji innych klas/komponentów/usług/pakietów tak, że nie będą one zależne bezpośrednio od siebie.
Komentarz:
Obiekty powinny być jak najmniej ze sobą powiązane, aby zmniejszyć ilość powiązań można stworzyć klasę pośrednią, która będzie się komunikować z pozostałymi obiektami. Klasa pośrednia może odpowiadać paru innym klasom przez co jedna klasa nie musi mieć żadnych informacji na temat innych klas. Przykładem takiego zachowania może być odczyt danych z pliku lub z bazy danych, klasa która potrzebuje te informacje nie musi wiedzieć skąd je wziąć oraz czy pochodzą z bazy danych czy z pliku. Takimi rzeczami zajmuje się klasa pośrednia.
Komentarze facebook (polub nasz profil na FB aby je zobaczyć):