Książka pt.:”Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku” to prawdziwe kompendium wiedzy dla każdego, kto chciałby programować drogą na skróty. Zawarte w niej informacje uczą tego jak ułatwić sobie pracę wykorzystując wcześniej opracowane projekty. W końcu po co zaczynać od zera, skoro poprzednia praca była dobra?
Sukces ma wielu ojców
Autorami „Wzorców projektowych” jest międzynarodowy zespół czterech doktorów. Erich Gamma pracuje Software Technology Center of Object Technology International w Zurychu na stanowisku dyrektora technicznego. Dr Richard Helm jest członkiem zespołu Object Technology Practice Group w IBM Consulting Group w Sydney. Dr Ralph Johnson jest pracownikiem naukowym na wydziale nauk komputerowych Uniwersytetu Illinois w Urbana-Champaign. Dr John Vlissider prowadzi badania w Thomas J. Watson Research Center firmy IBM w Hawthorne w stanie Nowy Jork. Tych czterech specjalistów połączyło swoją teoretyczną wiedzę i praktyczne doświadczenie po to, by ofiarować swoim czytelnikom gotową receptę na programowanie dobre i szybkie.
Co może ułatwić pracę programisty?
Odpowiedź jest bardzo prosta – wzorce projektowe. Jeśli jakieś rozwiązanie zostało już sprawdzone i ocenione jako skuteczne, to nic nie stoi na przeszkodzie by z niego korzystać wielokrotnie. Każdy kto chce zostać programistą z prawdziwego zdarzenia powinien znać wzorce projektowe i potrafić zastosować je we własnej pracy. Ich znajomość powinien opanować każdy freelancer, który chce pracować lepiej i wydajniej. Zamieszczony w książce katalog wzorców strukturalnych, konstrukcyjnych i operacyjnych to gotowa ściągawka, która tylko czeka na to by zostać wykorzystaną. Nawet całkowity amator może wykorzystać ją tak, by zrozumieć podstawy programowania. Mało tego, może też dzięki niej nabrać odwagi by próbować swoich sił w programowaniu. Dzięki gotowym wzorcom nie jest to aż tak skomplikowane, więc dlaczego nie próbować?
Dla początkujących – wprowadzenie
„Elementy oprogramowania obiektowego” to książka skierowana nie tylko do działających programistów, ale też dla osób, które dopiero chcą zacząć swoją przygodę z programowaniem. Z tego powodu, cała pierwsza część książki została poświęcona na wprowadzenie. Wyjaśniono w niej czym są wzorce projektowe, jak się je opisuje i jak można wykorzystać je do rozwiązywania problemów projektowych. Opisano również, jak wybrać właściwy wzorzec i jak go zastosować w praktyce. To podstawowa wiedza, którą powinien posiadać każdy, kto chce nazywać się profesjonalnym programistą. Jeśli chce świadczyć konkurencyjne usługi i być atrakcyjny na rynku pracy, to po prostu musi wiedzieć jak stosować wzorce w praktyce. To po prostu wzorce rozwiązań znanych już problemów. Jeśli spojrzy się na ten temat szerzej, to można zauważyć, że właściwie wszystkie możliwe problemy zostały już rozwiązane. Wystarczy tylko wiedzieć, gdzie szukać gotowców.
Najlepiej jest uczyć się na przykładzie
Zgodnie z tą teorią autorzy książki „Elementy oprogramowania obiektowego” przedstawiają swoje teorie na przykładzie projektu edytora dokumentów. W prosty i przystępny sposób wyjaśniają jak rozwiązać problemy projektowe oraz jak pracować nad wyglądem interfejsu edytora. Tłumaczą również jak zaprojektować funkcje programu, takie jak sprawdzanie pisowni. Dzięki temu, że jako przykład wykorzystano program, który właściwie znany jest wszystkim – to każdy czytelnik może wyobrazić sobie rzeczywiste wykorzystania tego, o czym czyta. Nauka przeprowadzana w taki sposób jest najbardziej skuteczna i przyniesie najwięcej owoców.
Wzorce projektowe
Największą część książki (bo aż trzy rozdziały) zajmują katalogi wzorców projektowych. Osobno opisano wzorce konstrukcyjne, strukturalne i operacyjne. Wzorce konstrukcyjne to wzorzec budowniczy, fabryka abstrakcyjna, prototyp, singleton oraz metoda wytwórcza. Wzorce strukturalne to adapter, dekorator, fasada, kompozyt, most, pełnomocnik (znane wszystkim – Proxy) oraz pyłek. Wzorce operacyjne to interpreter, interator, mediator, łańcuch zobowiązań, metoda szablonowa, obserwator, odwiedzający, pamiątka, polecenie, stan i strategia. Brzmi jak sporo informacji, prawda? Każdy ze wzorców został wnikliwie opisany i opracowany. Dla każdego ze wzorców przedstawiono uzasadnienie jego zastosowania i opisano przeznaczenie. Ponadto opisano też warunki stosowania, elementy wzorca oraz konsekwencje jego użycia. W sposób graficzny przedstawiono też strukturę samego wzorca projektowego. W ten sposób przybliżono też współdziałanie danego wzorca z innymi wzorcami. W ten sposób można łatwo zrozumieć jego działanie. Całość opisu wzbogacono też w implementację wzorca, a także znane już zastosowania i powiązane wzorce. Co jest wyjątkowo cenne – autorzy przygotowali też przykładowy kod z zastosowaniem wzorca projektowego.
Dodatki
Podręcznik ten zakończony jest też licznymi dodatkami. Podstawowym z nich jest słowniczek, który może być świetną ściągą dla początkujących. Znajdują się tu też diagramy klas, obiektów i interakcji. W tej części zawarto też bogate opisy klas podstawowych. Jest to doskonałe uzupełnienie przedstawionej wcześniej wiedzy. W idealnym świecie programiści powinni być w stanie samodzielnie stosować wzorce projektowe. Doskonale przyspieszyłoby to ich pracę. W praktyce jest to prawie nierealne. Z tego powodu programiści potrzebują podręczników odpowiadających na wszystkie ich pytania. Nawet te, których nie chcieli lub bali się zadać.
W całości
Książka Wzorce projektowe. Elementy oprogramowania obiektowego wielokrotnego użytku” została napisana w sposób niezwykle lekki i przejrzysty. Czyta się ją szybko, a trudne informacje zostały przedstawione w sposób przystępny nawet dla laika. Z tego względu ten kompleksowy podręcznik polecany jest wszystkim, którzy na poważnie łączą swoją przyszłość z programowaniem. To rodzaj Biblii programowania, która zawsze powinna znajdować się w pobliżu komputera. Dzięki jej znajomości można pracować szybciej i wydajniej, a co za tym idzie – zarabiać więcej. To kluczowe w roli każdego, kto sam musi zapracować na swoje utrzymanie.