Wzorce projektowe Flashcards
Pytanie: Co to jest wzorzec Singleton?
Odpowiedź: Singleton to wzorzec kreacyjny, który gwarantuje, że dana klasa ma tylko jedną instancję i dostarcza globalny punkt dostępu do tej instancji.
Pytanie: Jakie są główne rodzaje wzorców projektowych?
Odpowiedź: Wzorce projektowe można podzielić na trzy główne kategorie: kreacyjne, strukturalne i behawioralne.
Pytanie: Co to jest wzorzec Strategia?
Odpowiedź: Strategia to wzorzec behawioralny, który definiuje rodzinę algorytmów, enkapsuluje każdy z nich i sprawia, że są one wymienne. Pozwala to na zmianę algorytmu niezależnie od klientów, którzy z niego korzystają.
Pytanie: W jakich sytuacjach przydaje się wzorzec Dekorator?
Odpowiedź: Dekorator to wzorzec strukturalny, który pozwala na dynamiczne dodawanie nowych obowiązków do obiektów bez modyfikowania ich struktury. Jest użyteczny, gdy chcemy rozszerzyć funkcjonalność obiektów w czasie wykonywania, zamiast przez dziedziczenie.
Pytanie: Co to jest wzorzec Fabryka Abstrakcyjna?
Odpowiedź: Fabryka Abstrakcyjna to wzorzec kreacyjny, który dostarcza interfejs do tworzenia rodzin powiązanych lub zależnych obiektów bez określania ich konkretnych klas.
Pytanie: Jakie są zalety korzystania z wzorców projektowych?
Odpowiedź: Wzorce projektowe oferują rozwiązania do często występujących problemów w projektowaniu oprogramowania, promują ponowne użycie kodu, ułatwiają komunikację między programistami dzięki wspólnemu językowi i mogą prowadzić do bardziej modularnego i skalowalnego kodu.
Pytanie: Co to jest wzorzec Obserwator?
Odpowiedź: Obserwator to wzorzec behawioralny, w którym obiekt (nazywany tematem) utrzymuje listę swoich zależnych (obserwatorów) i powiadamia je o wszelkich zmianach stanu, zazwyczaj przez wywołanie jednej z ich metod.
Pytanie: W jakich sytuacjach przydaje się wzorzec Kompozyt?
Odpowiedź: Kompozyt to wzorzec strukturalny, który pozwala traktować pojedyncze obiekty i ich kompozycje jednolicie. Jest użyteczny, gdy chcemy budować struktury obiektów w postaci drzewa i chcemy traktować zarówno liście, jak i gałęzie w ten sam sposób.
Pytanie: Co to jest wzorzec Stan?
Odpowiedź: Stan to wzorzec behawioralny, który pozwala obiektowi zmieniać swoje zachowanie, gdy jego stan wewnętrzny ulega zmianie. Wygląda to tak, jakby obiekt zmienił swoją klasę.
Pytanie: Jakie są różnice między wzorcem Most a Adapterem?
Odpowiedź: Most (Bridge) to wzorzec strukturalny, który ma na celu oddzielenie abstrakcji od jej implementacji, tak aby obie mogły być modyfikowane niezależnie. Adapter pozwala na współpracę interfejsów, które nie są ze sobą kompatybilne, “adaptując” jeden interfejs do drugiego.
Pytanie: Co to jest wzorzec Budowniczy?
Odpowiedź: Budowniczy to wzorzec kreacyjny, który oddziela konstrukcję złożonego obiektu od jego reprezentacji, pozwalając na tworzenie różnych reprezentacji.
Pytanie: W jakich sytuacjach przydaje się wzorzec Łańcuch Odpowiedzialności?
Odpowiedź: Łańcuch Odpowiedzialności to wzorzec behawioralny, który pozwala przekazywać żądania wzdłuż łańcucha obiektów. Każdy obiekt w łańcuchu decyduje, czy przetwarzać żądanie, czy przekazać je dalej. Jest użyteczny, gdy chcemy zdecentralizować logikę przetwarzania i dać więcej niż jednemu obiektowi szansę na obsługę żądania.
Pytanie: Co to jest wzorzec Metoda Szablonowa?
Odpowiedź: Metoda Szablonowa to wzorzec behawioralny, który definiuje szkielet algorytmu w metodzie, opierając się na dziedziczeniu. Pozwala to podklasom na przesłanianie pewnych kroków algorytmu bez zmiany jego struktury.
Pytanie: Co to jest wzorzec Mediator?
Odpowiedź: Mediator to wzorzec behawioralny, który zmniejsza powiązania między klasami, centralizując zewnętrzne komunikacje. Mediator pozwala na łatwiejsze modyfikowanie, testowanie i skalowanie systemu.
Pytanie: Co to jest wzorzec Polecenie?
Odpowiedź: Polecenie to wzorzec behawioralny, który zamienia żądanie na obiekt, umożliwiając parametryzację klientów z różnymi żądaniami, kolejkowanie żądań i ich log