Zpo-5-wyk-Slajd41

Z Studia Informatyczne
Wersja z dnia 06:50, 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

Inappropriate Intimacy

Inappropriate Intimacy


Niewłaściwa hermetyzacja jest dość częstym i dobrze znanym problemem. Wiąże się ona nie tylko z niepoprawnym użyciem kwalifikatorów dostępu, ale przede wszystkim z niewłaściwym podziałem odpowiedzialności pomiędzy klasy: jeżeli wymagają one bezpośredniego dostępu do swoich prywatnych części, oznacza to, że są zbyt ze sobą związane.

Podstawowym rozwiązaniem jest przesunięcie metod i pól prywatnych do klas, które najbardziej ich potrzebują. Można także ograniczyć wiedzę o sobie dwóch klas, zmieniając relację dwukierunkową na jednokierunkową. Wrażliwe i współdzielone elementy dwóch klas można wyłączyć do nowej klasy, której obiekty będą współdzielone pomiędzy nie, zachowując jednocześnie hermetyzację. Niepoprawna hermetyzacja jest również możliwa wewnątrz hierarchii dziedziczenia – wówczas w celu odseparowania nadklasy od podklas można zmienić dziedziczenie w delegację.


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