JavaRush /Blog Java /Random-PL /Recenzja książki „Wzorce projektowe kieruj się przede wsz...
Alex
Poziom 37

Recenzja książki „Wzorce projektowe kieruj się przede wszystkim”

Opublikowano w grupie Random-PL
Wśród osób, które przynajmniej w minimalnym stopniu znają serię Head First, jest wiele osób, które uważają taką literaturę za raczej powierzchowną lekturę dla początkujących. Co mogę powiedzieć, jest mało prawdopodobne, że w ciągu 48 godzin będziesz w stanie dogłębnie przestudiować złożony temat z zakresu programowania. Trudno jednak zaprzeczyć, że Wzorce Projektowe to książka, która będzie przydatnym przewodnikiem po programowaniu dla początkujących. Ta książka jest jedną z dziesięciu najpopularniejszych na Stackoverflow i nie bez powodu. Łatwość prezentacji, podstawowy temat i wysokiej jakości przykłady sprawiają, że książka cieszy się popularnością obecnie i, moim zdaniem, przez wiele lat. Recenzja książki „Wzorce projektowe kieruj się przede wszystkim” – 1

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:
  1. Widoczność
  2. Konwersacyjny styl prezentacji
  3. Duża ilość ilustracji
  4. Aktywny udział czytelników
  5. Odwołaj się do emocji
  6. Przykuwanie uwagi czytelnika
Autorzy książki umiejętnie posługują się teorią metapoznania w przekazywaniu materiału: dla mnie pierwsze 100 stron przeleciało niezauważone. Piękno tego podejścia polega na tym, że mózg faktycznie pamięta, co czyta. Połączenie kilku stylów narracji, ciekawe pytania, redundancja i kreatywność - wszystko to pomaga czytelnikowi nie stracić zainteresowania głównym tematem. Przed zakupem książki wahałam się po przeczytaniu różnych recenzji. Jednak po szybkim przejrzeniu kilku innych źródeł na ten temat zdecydowałem: aby zagłębić się we wzorce, ta książka jest tym, czego potrzebujesz.

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 :
  1. Obserwator. Rozdziela zdarzenia pomiędzy obiekty zainteresowane ich wystąpieniem.
  2. Dekorator. Jeszcze jedno spojrzenie na dziedziczenie w Javie i nadanie klasom Javy nowych możliwości bez modyfikowania kodu.
  3. Fabryka. Wzorzec chroni kod przed niechcianymi zależnościami.
  4. Pojedynczy. Znany również jako Singleton, pozwala na utworzenie pojedynczego obiektu klasy dla całego programu.
  5. Zespół. Wzorzec umożliwia wygodne hermetyzowanie wywołania metody, rozszerzając jej możliwości.
  6. Adapter i fasada. Rozwiązanie problemu niekompatybilności interfejsów, a także pakowanie obiektów w celu uproszczenia ich interfejsu.
  7. Metoda szablonowa. Hermetyzacja bloków algorytmicznych, umożliwiająca podklasom powiązanie z żądanym algorytmem przetwarzania w dowolnym momencie.
  8. 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.
  9. Państwo. Obiekty są obdarzone możliwością kontrolowania swojego zachowania poprzez zmianę swojego stanu wewnętrznego.
  10. Zastępca. Bardzo wygodny wzorzec kontroli dostępu do obiektu.
W rozdziale 12 omówiono wzorce złożone, a raczej kombinacje niektórych z omówionych wzorców, które można wykorzystać do zbudowania wydajnych architektur oprogramowania. Rozdział 13 poświęcony jest wykorzystaniu wzorców w rzeczywistych problemach, przedstawiono klasyfikację wzorców, ich odmiany oraz wskazówki dotyczące stosowania. Książka stanowi dodatek do rozdziału 14, który obejmuje szerszy zakres wzorców. Każdy z nich jest przydatny na swój sposób, więc ich znajomość jest więcej niż pożądana. Oczywiście nie cieszą się one taką popularnością jak wzory z rozdziałów 2-11, ale to nie czyni ich mniej użytecznymi. Książka nie pretenduje do miana dokładnej akademickiej prezentacji teorii wzorców. Ale jeśli książki Head First będą tak skrupulatne, początkujący programiści nie będą mieli szansy dowiedzieć się, co jest co i samodzielnie wyjaśnić podstaw. Jest to prosty i wygodny sposób, aby dowiedzieć się, czym są wzorce projektowe dla tych, którzy ich nie znają. Zdaniem autorów Design Patterns to książka odpowiednia dla tych, którzy znają już Javę (lub C#), chcą poznać zasady projektowania obiektowego i wolą ożywioną rozmowę od nudnych wykładów. Ta książka nie jest podręcznikiem! Jeśli jesteś profesjonalnym programistą z doświadczeniem i pracujesz z przynajmniej częścią tych wzorców, jest mało prawdopodobne, że ta książka Cię zainteresuje. Ważnym elementem książki są ćwiczenia, których nie należy pomijać. Jeśli dokładnie przeczytasz książkę, a w skrajnych przypadkach przeszukasz Internet, rozwiązanie ich nie sprawi Ci bólu głowy. Ale na pewno będą korzyści. Przynajmniej głębiej zrozumiesz teorię przedstawioną w tej książce.

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.
  1. Techniki projektowania obiektowego. Wzorce projektowe (Gamma E., Helm R., Johnson R., Vlissides J.).

    Recenzja książki „Wzorce projektowe” (Wzorce projektowe Head First) – 2

    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
    Ja jestem zwolenniczką tej drugiej grupy: uważam, że książka jest naprawdę godna uwagi, ale czytanie jej dla rozwoju, a nie w celu szukania jakichkolwiek informacji, jest bardzo trudne.

    Ważny:Przykłady zawarte w książce są napisane w języku C++.

  2. JavaEE. Wzorce projektowe dla profesjonalistów (Murat Yener, Alex Fidom).

    Recenzja książki „Wzorce projektowe” (Wzorce projektowe Head First) – 3

    Książka ta poświęcona jest projektowaniu aplikacji dla przedsiębiorstw: opisuje wiele przykładów rzeczywistych problemów z aplikacjami.

  3. Wzorce projektowe w Javie (Grand M.).

    Recenzja książki „Wzorce projektowe” (Wzorce projektowe Head First) – 4

    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”:
  1. Ogólny artykuł na temat wzorców z kategoriami, przykładami, wszystkim, co lubimy.

  2. Dwa artykuły na temat wzorców: część 1 — przegląd i bardziej szczegółowa część 2 .

  3. Projektuj wzorce na przykładzie wzorca Singleton .

  4. Artykuły na temat wzorców „ Strategia ” i „ Adapter ”.

  5. Koncepcja wzorców projektowych jest powiązana z diagramami UML, ten artykuł pomoże Ci zrozumieć, czym one są.

Komentarze
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION