Często, gdy metoda zaczyna wykonywać kod związany z jej funkcjonalnością, sprawdza, czy w ogóle zostały spełnione warunki umożliwiające wykonanie funkcjonalności metody.
Nie ma nic złego w sprawdzaniu warunków wykonania kodu funkcjonalnego. Problem polega jednak na tym, że każda taka walidacja wprowadza do metody dodatkowe uzupełnienie.
Zamiast tego wolimy używać strażnika. Strażnik zweryfikuje przesłanki niezbędne do prawidłowego funkcjonowania metody już na samym początku jej stosowania. Jest to bardzo podobne do dziedziny funkcji w matematyce. Każda funkcja ma zakres wartości, na podstawie których działa. Podobnie każda metoda ma zestaw różnych zmiennych stanu i właściwości klasy, na których może działać.
Używanie osłony oszczędza nam konieczności zagnieżdżania bloków, a następnie wcięcia ich tabulatorem.
Marián Knězek