Cechy książki
Wzorce projektowe kieruj się przede wszystkim tym, czym są wzorce, jak z nich korzystać i jak o nich myśleć. Wzór to szablon, uniwersalne rozwiązanie określonego zestawu problemów. Wzorce projektowe to z kolei powszechnie stosowane rozwiązania architektoniczne, które można wykorzystać do pisania przyjaznych dla użytkownika i elastycznych aplikacji. Programiści na całym świecie rozwiązują te same problemy, stosując te same podejścia. Jak mówi adnotacja, jeśli nie chcesz wymyślać koła na nowo, skorzystaj z gotowych szablonów projektów (wzorców), z którymi praca jest poświęcona tej książce . Osobno warto zwrócić uwagę na sposób prezentacji materiału: książki z serii Head First słyną z prostoty i czyta się je jednym tchem. „Wzorce projektowe” nie są wyjątkiem. Przestrzega także następujących kluczowych zasad:- Widoczność
- Konwersacyjny styl prezentacji
- Duża ilość ilustracji
- Aktywny udział czytelników
- Odwołaj się do emocji
- Przykuwanie uwagi czytelnika
Główny temat i myśl przewodnia
„Na pewno ktoś już rozwiązał Twój problem” – tak zaczyna się pierwszy rozdział książki, oddający całe znaczenie wzorców projektowych w programowaniu. Głównym celem jest prawidłowe przekazanie czytelnikowi ich znaczenia, ponieważ przede wszystkim programista musi wiedzieć, do czego służą wzorce i w jakim momencie należy je zastosować. Zasadniczo musisz najpierw posortować szablony na małe kawałki w swojej głowie, a dopiero potem zaimplementować je w programach. Jeśli początkujący programista dobrze rozumie wzorce, ich użycie może znacznie skomplikować kod (ale powinno go uprościć!). Na pytanie „Dlaczego warto stosować wzorce projektowe?” Książka daje jasną odpowiedź: „Znajomość takich pojęć jak abstrakcja, dziedziczenie i polimorfizm nie czyni z ciebie dobrego projektanta OO. Wzory zawierają sprawdzone doświadczenie w projektowaniu OO.”"Streszczenie"
Książka podzielona jest na 14 rozdziałów plus wstęp. Autorzy książki na początku starają się przygotować czytelnika, nastawić jego mózg na prawidłowe odbieranie informacji o projektowaniu wzorców. W pierwszym rozdziale wyjaśniono podstawową zasadę działania wzorców oraz celom, jakim służą. Jeden z najczęściej używanych wzorców – strategię – można łatwo i dyskretnie zbadać. Rozdziały od drugiego do jedenastego poświęcone są szczegółowej analizie poszczególnych wzorców :- Obserwator. Rozdziela zdarzenia pomiędzy obiekty zainteresowane ich wystąpieniem.
- Dekorator. Jeszcze jedno spojrzenie na dziedziczenie w Javie i nadanie klasom Javy nowych możliwości bez modyfikowania kodu.
- Fabryka. Wzorzec chroni kod przed niechcianymi zależnościami.
- Pojedynczy. Znany również jako Singleton, pozwala na utworzenie pojedynczego obiektu klasy dla całego programu.
- Zespół. Wzorzec umożliwia wygodne hermetyzowanie wywołania metody, rozszerzając jej możliwości.
- Adapter i fasada. Rozwiązanie problemu niekompatybilności interfejsów, a także pakowanie obiektów w celu uproszczenia ich interfejsu.
- Metoda szablonowa. Hermetyzacja bloków algorytmicznych, umożliwiająca podklasom powiązanie z żądanym algorytmem przetwarzania w dowolnym momencie.
- Iterator i linker. Wzorzec zapewnia wygodne narzędzie do iteracji po kolekcjach, niezależnie od ich typu. Dodatkowo w rozdziale zawarto kilka informacji na temat superkolekcji.
- Państwo. Obiekty są obdarzone możliwością kontrolowania swojego zachowania poprzez zmianę swojego stanu wewnętrznego.
- Zastępca. Bardzo wygodny wzorzec kontroli dostępu do obiektu.
Zalety i wady
Ja, podobnie jak wielu studentów JavaRush, mam chłodny stosunek do nudnych wykładów, wkuwania materiałów i innych form przemocy wobec psychiki ucznia spragnionego wiedzy. Moim zdaniem energię wydatkowaną na zapamiętywanie niezrozumiałych tekstów najlepiej przeznaczyć na poszukiwanie alternatywnych źródeł nauki. Ta książka jest warta twojego czasu i wysiłku. Doskonały styl prezentacji, umiejętne zarządzanie uwagą czytelnika i powtarzalność kluczowych punktów to główna zaleta tej książki – łatwość przyswajania materiału . Dodatkowym plusem jest duża ilość ilustracji. Moim zdaniem każdy obraz w książce ma swoje miejsce: wszystkie pozwalają utwierdzić słowa autorów i zyskać głębsze zrozumienie istoty materiału. Jak pisałem powyżej, książka ta nie jest podręcznikiem: jej autorzy nie mają zamiaru wymieniać wszystkich wzorców. Jego głównym zadaniem jest zapewnienie zrozumienia i omówienie podstawowych wzorców, tak aby inne, bardziej złożone, były łatwiejsze do zrozumienia. I radzi sobie z tym w 100%. Wadą jest to, że wzorce projektowe Head First w języku rosyjskim nie są tak łatwe do odczytania jak w języku angielskim. Oczywiście każdy programista powinien znać język angielski, jednak początkujący programiści nie zawsze rozwijają tę umiejętność do tego stopnia, aby móc czytać książki w oryginale. Można to jednak uznać za wymuszony minus, ponieważ materiał jest przedstawiony dość dokładnie, a znaczenie zostaje zachowane.Dodatkowe książki o wzorcach projektowych
Jestem zwolennikiem przekonania, że lepiej jest studiować podstawowe tematy z kilku źródeł i szukać w nich odpowiedniego stylu prezentacji. Jeśli będziesz chciał zagłębić się w schematy i poczytać dodatkową teorię, uwierz mi, będziesz miał czym zająć wieczory.-
Techniki projektowania obiektowego. Wzorce projektowe (Gamma E., Helm R., Johnson R., Vlissides J.).
To już poważniejsza publikacja, podręcznik wzorców, bardzo szanowana książka z „Gangu Czterech”. Wielu nazywa to biblią projektowania OO.
W Internecie opinie deweloperów dzielą się na 3 obozy:
- niektórzy twierdzą, że książka jest przestarzała, a styl prezentacji uniemożliwia jej przeczytanie
- inni zalecają używanie tej książki wyłącznie jako podręcznika na temat wzorców, nic więcej
- jeszcze inni twierdzą, że ta książka to święty Graal wzorców projektowych i powinien ją przeczytać każdy, kto chce pewnego dnia zostać starszym programistą Java
Ważny:Przykłady zawarte w książce są napisane w języku C++.
-
JavaEE. Wzorce projektowe dla profesjonalistów (Murat Yener, Alex Fidom).
Książka ta poświęcona jest projektowaniu aplikacji dla przedsiębiorstw: opisuje wiele przykładów rzeczywistych problemów z aplikacjami.
-
Wzorce projektowe w Javie (Grand M.).
Książka w barwny sposób pokazuje, jak użycie wzorców oszczędza czas programistów, zapewnia przegląd języka UML i opisuje 47 wzorców projektowych.
Wzorce projektowe w JavaRush
W kursie JavaRush wzorce projektowe są poznawane na poziomie 7 zadania Kolekcje Java. Wykłady 1 i 2 poświęcone są najczęstszym wzorcom, natomiast w wykładzie 4 można rozwiązywać problemy na ten temat. Poniżej znajduje się kilka interesujących artykułów, które pomogą Ci „wzmocnić siebie”:-
Ogólny artykuł na temat wzorców z kategoriami, przykładami, wszystkim, co lubimy.
-
Dwa artykuły na temat wzorców: część 1 — przegląd i bardziej szczegółowa część 2 .
-
Projektuj wzorce na przykładzie wzorca Singleton .
-
Koncepcja wzorców projektowych jest powiązana z diagramami UML, ten artykuł pomoże Ci zrozumieć, czym one są.
GO TO FULL VERSION