Junior
Jakie wzorce projektowe znasz?
sobes.tech AI
Odpowiedź od AI
-
Twórcze
- Metoda fabryczna (sposób tworzenia obiektów za pomocą metody fabrycznej, a nie bezpośrednio przez konstruktor)
- Fabryka abstrakcyjna (interfejs do tworzenia powiązanych rodzin obiektów bez określania ich konkretnych klas)
- Budowniczy (krokowe tworzenie złożonych obiektów, umożliwiające uzyskanie różnych wariantów obiektu, korzystając z tego samego kodu konstrukcyjnego)
- Prototyp (tworzenie nowych obiektów przez kopiowanie istniejącego wzorca)
- Singleton (gwarantuje, że istnieje tylko jedna instancja klasy i zapewnia do niej globalny punkt dostępu)
-
Strukturalne
- Adapter (pozwala obiektom z niekompatybilnymi interfejsami współpracować)
- Most (oddziela abstrakcję od implementacji, umożliwiając ich niezależne zmiany)
- Kompozyt (traktuje pojedyncze obiekty i ich grupy w ten sam sposób)
- Dekorator (dynamicznie dodaje nowe obowiązki obiektom)
- Fasada (zapewnia zunifikowany interfejs do zestawu interfejsów podsystemu)
- Flyweight (efektywnie zarządza dużą liczbą małych obiektów)
- Proxy (zapewnia obiekt zastępczy, który kontroluje dostęp do innego obiektu)
-
Behawioralne
- Łańcuch zobowiązań (przesyła żądania wzdłuż łańcucha obsługujących)
- Polecenie (enkapsuluje żądanie jako obiekt, umożliwiając parametryzację klientów, kolejkowanie żądań, logowanie i obsługę cofania)
- Iterator (zapewnia sposób sekwencyjnego dostępu do wszystkich elementów obiektu złożonego bez ujawniania jego wewnętrznej struktury)
- Mediator (upraszcza interakcję między wieloma obiektami, wprowadzając obiekt mediatora)
- Memento (pozwala zapisać i przywrócić stan wewnętrzny obiektu bez naruszania jego enkapsulacji)
- Obserwator (definiuje zależność jeden-do-wielu między obiektami, tak że gdy jeden się zmienia, wszyscy zależni są powiadamiani i aktualizowani)
- Stan (pozwala obiektowi zmienić swoje zachowanie, gdy jego wewnętrzny stan się zmienia)
- Strategia (definiuje rodzinę algorytmów, kapsułkuje je i czyni wymienialnymi)
- Metoda szablonowa (definiuje szkielet algorytmu w metodzie, pozostawiając podklasom możliwość redefinicji niektórych kroków bez zmiany struktury ogólnej)
- Odwiedzający (pozwala dodawać nowe operacje do hierarchii klas bez ich modyfikowania)
W rozwoju Android często używa się wzorców MVx (MVP, MVVM), a także wzorców z biblioteki Android Architecture Components (Room, ViewModel, LiveData, Navigation).