Encapsulate what may change, czyli Ukrywaj zmieniające się rzeczy
Zasada mówi, aby ukrywać zmieniające się rzeczy pod stabilnym interfejsem.
Przykłady:
Bilety: Ukrycie warunku np. czy bilet jest ważny w oddzielnej metodzie.
Zwierzęta: Zwierzęta (Pies, Kot) dają głos. Tworzymy klasę, która sprawia, że wszystkie zwierzęta (ZwierzecyKoncert) dają głos. Ma ona metodę, w której sprawdza, jakiego typu jest dane zwierze i wtedy daje odpowiedni głos.
Możemy implementację dawania głosu przenieść do klas Pies i Kot oraz stworzyć interfejs IZwierzęDajęceGłos. Nasze zwierzęta implementują ten interfejs, a klasa odpowiedzialna za dawanie głosu przez wszystkie zwierzęta tylko iteruje po liście zwierząt i woła na nich metodę DajGłos. Jeżeli dodamy nowe zwierzę, to jedynie dodamy nową klasę, a nie będziemy musieli zmieniać takich klas, jak ZwierzecyKoncert.
Otrzymuj najświeższe informacje
Chcesz otrzymywać najświeższe informacje? Podaj swój adres e-mail i zapisz się!
Dziękuję!
Wysłałem Ci wiadomość e-mail. Wejdź na swoją skrzynkę mailową proszę i potwierdź jak najszybciej swój adres e-mail.
Do usłyszenia!
Zalety
Mniej miejsc w kodzie trzeba zmodyfikować podczas wprowadzania zmiany.
Klienci uzależnieni są od abstrakcji, a nie od szczegółów implementacyjnych (zasada Odwrócenia zależności).
Łatwiejsze testowanie.
Łatwiejsze utrzymanie.
Wady
Należy tworzyć abstrakcje.
Wszystkie posty związane z mini projektem: Poznaj zasady SOLID i OOP:
Strona wykorzystuje pliki cookies w celu obsługi jej poszczególnych funkcji oraz korzystania z narzędzi analitycznych (Google Analytics, HotJar), marketingowych (Google Ads, Facebook Pixel) oraz społecznościowych (Instagram, Facebook, Twitter, LinkedIN). Szczegóły: polityka prywatności. Jeżeli wyrażasz zgodę na pliki cookies, kliknij w przycisk „Akceptuję”. Jeżeli chcesz zarządzać ustawieniami plików cookies, kliknij Ustawienia. Akceptuję
Polityka prywatności i plików cookies
Privacy Overview
Ten serwis używa plików cookies w celu ulepszenia Twojego doświadczenia podczas korzystania z tego serwisu. Pliki cookies podzieliliśmy na obowiązkowe i nieobowiązkowe. Obowiązkowe są konieczne do poprawnego działania strony oraz przeglądarki. Z nieobowiązkowych możesz się wypisać. O polityce prywatności możesz przeczytać tutaj: Polityka prywatności.
Obowiązkowe pliki cookies są konieczne to poprawnego funkcjonowania strony. Są to pliki cookies odpowiedzialne za dostarczanie podstawowych funkcji oraz zapewnienie bezpieczeństwa strony. Te pliki nie zawierają informacji personalnych.