Zpo-1-wyk-Slajd20
Hermetyzacja
Hermetyzacja jest kolejnym pojęciem stanowiącym w powszechnym odbiorze charakterystyczną cechę obiektowości. Jest to prawda, ponieważ hermetyzacja w znacznym stopniu podnosi stopień abstrakcji. Jednak hermetyzacja często jest rozumiana w wąskim sensie, jako ukrywanie danych przed niepożądanym dostępem. Zgodnie z nią, wystarczy zadeklarować pola jako niepubliczne oraz stworzyć metody dostępu do nich, aby osiągnąć właściwy poziom ukrycia implementacji.
Takie rozwiązanie jest niewystarczające. Hermetyzację należy rozumieć znacznie szerzej: jako ukrywanie każdej decyzji projektowej, która może ulec zmianie. Dlatego projekt powinien identyfikować wszystkie obszary zmienności, dotyczące interfejsu, implementacji, zachowania metod czy danych, i hermetyzować je za pomocą dostępnych środków.