Jarosław Czub DevBlog

Ogólnie o programowaniu

Tag: wzorce projektowe (Page 1 of 2)

Wzorzec – Fasada (Facade)

Fasada upraszcza oraz unifikuje dostęp do grupy klas lub jednej klasy o rozbudowanym API. Fasada tworzy nowy interfejs o wysokiej abstrakcji, który upraszcza korzystania z całego systemu. W praktyce z fasadą możemy spotkać się w sytuacji, gdy tworzymy serwis rozdzielony na frontend  oparty na technologiach webowych (Java Script, HTML, CSS, itd.) i backend gdzie komunikacja […]

Wzorzec – Adapter (Wrapper)

We wakacje wybieramy się do jakiegoś obcego kraju i niekiedy nieprzyjemna niespodzianka, w danym kraju są inne standardy wtyczek sieciowych (Wielka Brytania) oraz np. napięcia sieciowego (USA, Kanada). Wtedy okazuje się ze trzeba zabrać konwerter napięcia, albo przejściówkę która pozwoli na podłączenie wtyczki polskiej do angielskiego gniazdka obie te rzeczy pełnią rolę adaptera. Tak samo […]

Wzorzec – Proxy (Pełnomocnik)

Strukturalny wzorzec projektowy Proxy, jego zadaniem jest zbudowanie klasy, która zastępuje/emuluje zachowanie innego klasy/obiektu Jest to jeden z najprostszych wzorców projektowych, bardzo często niepozornie siedzący w kodzie. Zastosowanie takiej kombinacji gdzie jeden obiekt zastępuje inny obiekt jest: Kontrola dostępu do ochranianego obiektu – np. dostęp do danych po autoryzacji użytkownika Opóźnienie tworzenia kosztownego obiektu, obiekt […]

Wzorzec – Decorator (Dekorator)

Stal, każdy mniej więcej wie co to za stop – żelaza, węgla i innych pierwiastków. Niby stal to stal, ale każdy stop stali ma inne właściwości i inaczej się zachowuje w zależności od użytych domieszek. Tak samo we wzorcu dekorator, mamy klasę do którego możemy dodawać nowe właściwości lub zachowania, bez modyfikowania jej zawartości. Wszystkie […]

Wzorzec – Mediator

Z życia wzięte … „… centralny magazyn firmy, przychodzą do niego materiały, narzędzia, półfabrykaty. Jako jedyny zna adresy poszczególnych oddziałów i osoby odpowiedzialne za przepływ materiałów w danym oddziale. Jego sprawne działanie ma wpływ na bezproblemowe wytwarzanie produktów firmy. Po co taki centralny magazyn, nie lepiej żeby poszczególne działy kontaktowały się ze sobą? A jednak […]

Wzorzec – Observer (Obserwator)

Z życia wzięte: … napięte terminy, ciasny czas, każdy co chwilę czegoś chce. Takie coś przeszkadza i co chwilę odrywa mnie od projektu, w końcu się lekko wkurzam i mówię „tu jest kartka, proszę zostawcie swoje telefony, jak skończę bieżący temat to zawiadomię was” … To jest przykład działania wzorca obserwatora, tak w realnym życiu. […]

Wzorzec – Iterator

Dzisiaj trochę na temat wzorca Iterator. Służy on do zapewnienia zunifikowanego dostępu do elementów obiektu. Najważniejsze o co w tym wzorcu chodzi to „bez ujawniania jego implementacji wewnętrznej”. Często w programowaniu ten sam rezultat możemy uzyskać przy pomocy paru technik, te same dane możemy przechowywać w pamięci w różny sposób. Przy użyciu tablic, list lub […]

Wzorzec – Singleton

Singleton – konstrukcyjny wzorzec projektowy którego zadaniem jest ograniczenie ilości instancji obiektu w systemie oraz zapewnienie globalnego dostępu do stworzonego obiektu. Wydawało by się, że prosto jest tylko stworzyć obiekt, ale ten wzorzec ma swoje zalety: Tworzenie instancji klasy jest niewidoczne dla użytkownika Lazy loading – obiekt jest tworzony kiedy następuje jego próba pierwszego użycia […]

Wzorzec – Composite (Kompozyt)

Composite (Kompozyt) – strukturalny wzorzec projektowy, którego zadaniem jest łączenie obiektów w strukturę tak, że reprezentują hierarchię części-całość, unifikując dostęp do kolekcji jak i pojedynczego obiektu. Umożliwia to klientom jednolite traktowanie pojedynczych obiektów i również ich kompozycji. Tego wzorca używałem w klasach np. w tym projekcie, gdzie poszczególne efekty mogły być uzyskane tylko przy pomocy […]

Wzorzec – Command (Polecenie)

Command (Polecenie) – należy do czynnościowego wzorca projektowego Wzorzec który ostatnio mi się spodobał. Kiedyś w pisanym edytorze rozkazy do wykonania były kolejkowane jako ENUM’y w kolejce rozkazów do wykonania. Ten wzorzec zapewnia jednak większą elastyczność poprzez: rozdzielenie zależności pomiędzy nadawcą i odbiorcą komunikatu możliwość dodanie operacji undo oraz zapamiętania stanu obiektów przed wykonaniem polecenia […]

Page 1 of 2

© 2017 Jarosław Czub DevBlog — Powered by WordPress