JavaRush /Blog Java /Random-PL /Wzorce projektowe w Javie [Część 1]
Ivan Zaitsev
Poziom 33
Киев

Wzorce projektowe w Javie [Część 1]

Opublikowano w grupie Random-PL
To jest krótki artykuł na temat wzorców projektowych w Javie. Nie będzie implementacji wzorców, jest jedynie lista wzorców istniejących w Javie i ich krótka treść. Przyda się tym, którzy są już w temacie do powtórzeń i uogólnień. Albo wręcz przeciwnie, dla tych, którzy po raz pierwszy zetknęli się z wzorami – dla pierwszego oglądnięcia tematu, przed zagłębieniem się w temat. Wzorce projektowe (szablony projektowe) to gotowe rozwiązania często spotykanych problemów programistycznych. To nie jest klasa czy biblioteka, którą można podłączyć do projektu, to coś więcej. W każdym konkretnym przypadku wdrażane są odpowiednie do zadania wzorce projektowe. Należy pamiętać, że taki wzór, jeśli zostanie zastosowany nieprawidłowo lub do niewłaściwego problemu, może sprawić wiele problemów. Jednak prawidłowo zastosowany wzór pomoże łatwo i prosto rozwiązać problem. Wzorce projektowe w Javie [Część 1] - 1Typy wzorów :
  • generowanie
  • strukturalny
  • behawioralne
Wzorce tworzenia udostępniają mechanizmy inicjujące, pozwalające w wygodny sposób tworzyć obiekty. Wzorce strukturalne definiują relacje między klasami i obiektami, umożliwiając im współpracę. Wzorce behawioralne służą ułatwieniu interakcji między jednostkami. Generatory :
  • Singleton - ogranicza utworzenie jednej instancji klasy i zapewnia dostęp do jej jedynego obiektu.
  • Factory — używane, gdy mamy superklasę z wieloma podklasami i na podstawie danych wejściowych musimy zwrócić jedną z podklas.
  • Fabryka abstrakcyjna - użyj super fabryki, aby stworzyć fabrykę, a następnie użyj utworzonej fabryki do tworzenia obiektów.
  • Konstruktor - służy do tworzenia złożonego obiektu przy użyciu prostych obiektów. Stopniowo tworzy większy obiekt z małego i prostego obiektu.
  • Prototyp - pomaga utworzyć duplikat obiektu o lepszej wydajności, zamiast nowego tworzony jest zwrócony klon istniejącego obiektu.
Strukturalne :
  • Adapter to konwerter pomiędzy dwoma niekompatybilnymi obiektami. Korzystając ze wzorca adaptera, możemy połączyć dwa niekompatybilne interfejsy.
  • Composite — używa jednej klasy do reprezentowania struktury drzewa.
  • Proxy — reprezentuje funkcjonalność innej klasy.
  • Flyweight – zamiast tworzyć dużą liczbę podobnych obiektów, obiekty są ponownie wykorzystywane.
  • Fasada - zapewnia prosty interfejs dla klienta, a klient używa interfejsu do interakcji z systemem.
  • Bridge - uniezależnia konkretne klasy od klas implementacji interfejsu.
  • Dekorator - Dodaje nową funkcjonalność do istniejącego obiektu bez ingerencji w jego strukturę.
Zachowanie :
  • Metoda szablonowa - definiuje podstawę algorytmu i pozwala następcom na przedefiniowanie niektórych kroków algorytmu bez zmiany jego struktury jako całości.
  • Mediator — udostępnia klasę mediatora, która obsługuje całą komunikację pomiędzy różnymi klasami.
  • Łańcuch odpowiedzialności – pozwala uniknąć ścisłej zależności nadawcy żądania od jego odbiorcy, podczas gdy żądanie może być przetwarzane przez kilka obiektów.
  • Obserwator - pozwala niektórym obiektom monitorować i reagować na zdarzenia zachodzące w innych obiektach.
  • Strategia - Algorytm strategii można zmienić w trakcie wykonywania programu.
  • Polecenie — interfejs poleceń deklaruje metodę wykonania określonej akcji.
  • Stan — obiekt może zmieniać swoje zachowanie w zależności od swojego stanu.
  • Gość - służy do uproszczenia operacji na grupach powiązanych obiektów.
  • Interpreter — definiuje prostą gramatykę języka dla domeny problemowej.
  • Iterator — sekwencyjnie uzyskuje dostęp do elementów obiektu kolekcji, nie znając jego podstawowej reprezentacji.
  • Memento (Keeper) - służy do przechowywania stanu obiektu, stan ten można później przywrócić.
Biorąc udział w kursie JavaRush, natkniesz się na kilka wzorców z tej listy. Polecam problemy ze wzorami: 1522 , 1530 , 1631 , big01 , 2912 , 3107 ... Inteligentne wykorzystanie wzorców projektowych prowadzi do zwiększonej niezawodności utrzymania kodu, ponieważ oprócz tego, że są dobrym rozwiązaniem typowego problemu, wzorce projektowe mogą zostać rozpoznane przez innym programistom, co skraca czas pracy z określonym kodem. Wzorce projektowe w Javie [Część 2]
Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION