question |
réponse |
Co to są Wzorce Projektowe? commencer à apprendre
|
|
Typowe rozwiązania problemów często napotykanych przy projektowaniu oprogramowania. Stanowią coś na kształt gotowych planów które można dostosować, aby rozwiązać powtarzający się problem w kodzie.
|
|
|
commencer à apprendre
|
|
W roku 1995 opublikowano książkę Wzorce projektowe: Elementy oprogramowania obiektowego wielokrotnego użytku. Ludzie zaczęli skracać go do “książka bandy czworga”. “Podejście wzorcowe” stało się bardzo popularne
|
|
|
Wymień rodzaje wzorców projektowych? commencer à apprendre
|
|
Wzorce kreacyjne, wzorce strukturalne, wzorce behawioralne
|
|
|
commencer à apprendre
|
|
Metoda wytwórcza, fabryka abstrakcyjna, Budowniczy, Prototyp, Singleton
|
|
|
Wymień wzorce strukturalne commencer à apprendre
|
|
Adapter, Most, Kompozyt, Dekorator, Fasada, Pyłek, Pełnomocnik
|
|
|
Wymień wzorce behawioralne commencer à apprendre
|
|
Łańcuch zobowiązań, Polecenie, Iterator, Mediator, Pamiątka, Obserwator, Stan, Strategia, Metoda szablonowa, Odwiedzający
|
|
|
Co to są Wzorce Kreacyjne? commencer à apprendre
|
|
Wprowadzają elastyczniejsze mechanizmy tworzenia obiektów i pozwalają na ponowne wykorzystanie istniejącego kodu.
|
|
|
Co to są Wzorce Strukturalne? commencer à apprendre
|
|
Wyjaśniają jak składać obiekty i klasy w większe struktury, zachowując przy tym elastyczność i efektyw- ność struktur.
|
|
|
Co to są Wzorce Behawioralne? commencer à apprendre
|
|
Zajmują się efektywną komunikacją i podziałem obowiązków pomiędzy obiektami.
|
|
|
commencer à apprendre
|
|
Metoda Wytwórcza. Udostępnia interfejs do tworzenia obiektów w ramach klasy bazowej, ale pozwala podklasom zmieniać typ tworzonych obiektów.
|
|
|
Wyjaśnij Abstract Factory commencer à apprendre
|
|
Fabryka Abstrakcyjna. Pozwala tworzyć rodziny spokrewnionych ze sobą obiektów bez określania ich konkretnych klas.
|
|
|
commencer à apprendre
|
|
Budowniczy. Daje możliwość tworzenia złożonych obiektów etapami. Wzorzec ten pozwala produkować różne typy oraz reprezentacje obiektu używając tego samego kodu konstrukcyjnego.
|
|
|
commencer à apprendre
|
|
Prototyp. Umożliwia kopiowanie już istniejących obiektów bez tworzenia zależności pomiędzy twoim kodem, a klasami obiektów.
|
|
|
commencer à apprendre
|
|
Pozwala zapewnić istnienie wyłącznie jednej instancji danej klasy. Ponadto daje globalny punkt dostępowy do tejże instancji.
|
|
|
commencer à apprendre
|
|
Adapter. Pozwalaj na współdziałanie ze sobą obiektów o niekompatybilnych interfejsach.
|
|
|
commencer à apprendre
|
|
Most. Pozwala na rozdzielenie dużej klasy lub zestawu spokrewnionych klas na dwie hierarchie - abstrakcję oraz implementację. Nad obiema można wówczas pracować niezależnie.
|
|
|
commencer à apprendre
|
|
Kompozyt. Pozwala komponować obiekty w struktury drzewiaste, a następnie traktować te struktury jakby były osobnymi obiektami.
|
|
|
commencer à apprendre
|
|
Dekorator. Pozwala dodawać nowe obowiązki obiektom poprzez umieszczanie tych obiektów w specjalnych obiektach opakowujących, które zawierają odpowiednie zachowania.
|
|
|
commencer à apprendre
|
|
Fasada. Wyposaża bibliotekę, framework lub inny złożony zestaw klas w uproszczony interfejs.
|
|
|
commencer à apprendre
|
|
Pyłek. Pozwala zmieścić więcej obiektów w danej przestrzeni pamięci RAM poprzez współdzielenie części opisu ich stanów.
|
|
|
commencer à apprendre
|
|
Pełnomocnik. Pozwala stworzyć obiekt zastępczy w miejsce innego obiektu. Pełnomocnik nadzoruje dostęp do pierwotnego obiektu, pozwalając na wykonanie jakiejś czynności przed lub po przekazaniu do niego żądania.
|
|
|
Wyjaśnij Chain of Responsibility commencer à apprendre
|
|
Łancuch Zobowiązań. Przekazuje żądania wzdłuż łańcucha obiektów obsługujących. Otrzymawszy żądanie, obiekt obsługujący decyduje o przetworzeniu żądania lub przekazaniu go do kolejnego obiektu obsługującego w łańcuchu.
|
|
|
commencer à apprendre
|
|
Polecenie. Zmienia żądanie w samodzielny obiekt zawierający informacje żądaniu. Taka transformacja pozwala na parametryzowanie metod przy użyciu różnych żądań. Umożliwia opóźnianie lub kolejkowanie wykonywania żądań oraz na cofanie operacji.
|
|
|
commencer à apprendre
|
|
Pozwala sekwencyjnie przechodzić od elementu do elementu jakiegoś zbioru bez konieczności eksponowania jego formy (lista, stos, drzewo, itp.).
|
|
|
commencer à apprendre
|
|
Pozwala zredukować chaos zależności pomiędzy obiektami. Wzorzec ten ogranicza bezpośrednią komunikację pomiędzy obiektami i zmusza je do współpracy wyłącznie za pośrednictwem obiektu mediatora.
|
|
|
commencer à apprendre
|
|
Pamiątka. Pozwala zapisywać i przywracać wcześniejszy stan obiektu bez ujawniania szczegółów jego implementacji.
|
|
|
commencer à apprendre
|
|
Obserwator. Pozwala zdefiniować mechanizm subskrypcji w celu powiadamiania wielu obiektów o zdarzeniach dziejących się w obserwowanym obiekcie.
|
|
|
commencer à apprendre
|
|
Stan. Pozwala obiektowi zmienić swoje zachowanie gdy zmieni się jego stan wewnętrzny. Wygląda to tak, jakby obiekt zmienił swoją klasę.
|
|
|
commencer à apprendre
|
|
Strategia. Pozwala zdefiniować rodzinę algorytmów, umieścić je w osobnych klasach i uczynić obiekty tych klas wymienialnymi.
|
|
|
commencer à apprendre
|
|
Metoda Szablonowa. Definiuje szkielet algorytmu w klasie bazowej i pozwala podklasom nadpisać pewne etapy tego algorytmu bez konieczności zmiany jego struktury.
|
|
|
commencer à apprendre
|
|
Odwiedzający. Pozwala oddzielić algorytmy od obiektów na których pracują.
|
|
|