Kniha: Návrhové vzory
 x   TIP: Přetáhni ikonu na hlavní panel pro připnutí webu
Reklama
Reklama

Kniha: Návrhové vzoryKniha: Návrhové vzory

 

Kniha: Návrhové vzory

Google       Google       19. 11. 2009       24 508×

Recenze úspěšné knihy Rudolfa Pecinovského, "bichle", který vás provede zákoutími návrhových vzorů. Jednoduše řečeno: recenze příručky správného programátora.

Reklama
Reklama

Ač by se z názvu mohlo zdát, že dnes na Programujte.com budeme recenzovat knížku, která bude radit ženám všeho věku, jak správně vyšít ten či onen tvar, opak bude pravdou. Kniha Návrhové vzory naopak patří mezi literaturu, která díky svému tematickému zaměření není určená všem, i když každý správný programátor by měl mít minimálně povědomí o tom, co to návrhové vzory jsou a kde se s nimi může setkat.

Návrhové vzory, anglicky „design patterns“, patří mezi pokročilejší znalosti v oblasti programování. Jedná se o „doporučené“, standardizované postupy, které mají usnadnit vývoj aplikací. Jak sám autor, Rudolf Pecinovský, v knize přirovnává, jedná se o jakousi obdobu matematického vzorečku.

Z daného přirovnání tedy vyplývá, že se nejedná o příručku, která by byla spjata s jedním programovacím jazykem. Návrhové vzory lze více či méně implementovat nebo uplatnit ve všech programovacích jazycích, a tak se rozhodně nemusíte bát, že „to není pro vás“. V knize jsou ukázky zdrojových kódů uváděny v jazyce Java.

Forma

Nečetl jsem v životě nějaké velké množství knih o programování, ale zatím jsem se s touto formou nesetkal. Kniha je psána jako otázky a odpovědi tázajícímu se čtenáři. Autor a čtenář si tykají a občas se člověk opravdu přistihne, jakoby se ptal sám za sebe. Já jsem si z počátku připadal při čtení nesvůj, ale po pár desítkách stran jsem již tuto zvláštní formu nevnímal. Osobně ale dávám přednost „klasice“.

Text je samozřejmě doprovázen ukázkami zdrojového kódu, které jsou většinou publikovány celé, nebo je čtenář odkázán na doprovodné soubory, které jsou k dispozici na internetu. Veškeré zdrojové kódy používají češtinu (názvy proměnných, metod) a dokonce diakritiku.

Použití češtiny s diakritikou vidím jako jednu ze slabin knihy. Autor oponuje tím, že české termíny si člověk lépe zapamatuje, já tuto argumentaci uznávám, ale považuji ji za naprosto irelevantní. Samotný programovací jazyk je také „anglický“, tak nevím, proč by programátor měl mít problémy s použitím anglických výrazů jako getAvailableColors namísto getZnáméBarvy. Navíc, jak vidíte, název metody je ještě k tomu ošklivou kombinací dvou jazyků. A aby toho ještě nebylo málo, doprovodné příklady, které jsou k dispozici na stránkách ComputerPressu, na tento přístup doplatily. Archív sice obsahuje tři složky, kde jsou zdrojové kódy v různých kódováních, ale ani jedno nemám na mých Windows Vista v pořádku.

Velmi příjemným rysem knihy je její strukturální dělení. Již samotné otázky napomáhají přehlednosti, ale velký kus práce je odveden na důsledném dělení kapitol, titulkování, doplňkových popiscích. Jednotlivé kapitoly odpovídají jednotlivým návrhovým vzorům. Kapitola dále vždy obsahuje text, který vysvětluje účel, principy fungování, možnosti implementace, úskalí, výhody a nevýhody a neposledně také samotný zdrojový kód.

Obsah

Jak již padlo výše, dělení je opravdu propracované. Jednotlivých 33 návrhových vzorů je roztříděno do 7 větších částí. Vzory jsou probírány od těch nejjednodušších po ty nejsložitější. Jednotlivé části jsou:

  • Zahřívací kolo – tato část obsahuje vysvětlení základních pojmů a principů objektového programování, najdete zde také lehký úvod primitivních návrhových vzorů,
  • Ovlivňujeme počet instancí – v této kapitole, jak již samotný název napovídá, se čtenář seznámí s metodami, jak ovlivnit počet instancí, a samozřejmě k čemu je to vlastně dobré,
  • Nekoukej mi do kuchyně – popis vzorů, které nám naši implementaci zapouzdří,
  • Optimalizujeme rozhraní – pojem optimalizace snad všichni znají, v této kapitole je tedy důraz na zjednodušení rozhraní tříd za účelem usnadnění práce s třídou,
  • Vytvořte to univerzální – tento „všeříkající název“ kapitoly skrývá vysvětlení problematiky práce s instancemi, zaměřuje se na jejich efektivní použití, zapouzdření jejich konstruktorů,
  • Zjednodušujeme program – název kapitoly je vcelku výstižný, tyto vzory zjednoduší na první pohled těžké zadání,
  • Já se přizpůsobím  - poslední kapitola je zaměřena na komplexnější návrhové vzory, které popisují již složitější architekturu, u které je třeba určité nezávislosti jednotlivých komponent.

Kniha ve výše zmíněných kapitolách probere 33 nejpoužívanějších a nejdůležitějších návrhových vzorů, jen pro příklad jmenujme: Factory Method, Singleton, Pool, Iterator, Adapter, Decorator, Bridge, Strategy, Model-View-Controller.

Ukázky z knihy



Závěr a hodnocení

Jak jsem již v úvodu naznačil, návrhové vzory jsou důležitou znalostí zkušeného programátora. Pokud se jím chcete stát, koupí této knihy své znalosti patřičně rozšíříte. Zvláště koupi doporučuji programátorům moderních objektových jazyků, jako je C#, Java, apod. Pokud programujete v jazyku, který nemá exaktní podporu objektů, například téměř všemi používané PHP, pak doporučuji potřebné znalosti načerpat spíše na internetu. Kniha pro vás bude velký kousek, jenž spořádat není vůbec lehké.

×Odeslání článku na tvůj Kindle

Zadej svůj Kindle e-mail a my ti pošleme článek na tvůj Kindle.
Musíš mít povolený příjem obsahu do svého Kindle z naší e-mailové adresy kindle@programujte.com.

E-mailová adresa (např. novak@kindle.com):

TIP: Pokud chceš dostávat naše články každé ráno do svého Kindle, koukni do sekce Články do Kindle.

Hlasování bylo ukončeno    
0 hlasů
Google
(fotka) Jan ŠkrášekHonza pracuje jako webdeveloper, věnuje se vývoji Nette\Database a Nextras komponentám. Mnoho času věnuje komunitnímu portálu signály.cz. Honza je taky fanouškem XML technologií.
Web     Twitter    

Nové články

Reklama
Reklama
Obrázek ke článku Nový IT hráč na českém trhu

Nový IT hráč na českém trhu

V roce 2015 otevřela v Praze na Pankráci v budově City Tower své kanceláře společnost EPAM Systems (NYSE:EPAM), jejíž centrála se nachází v USA. Společnost byla založená v roce 1993 a od té doby prošla velkým vývojem a stále roste.

Obrázek ke článku České Radiokomunikace opět hledají nejlepší nápady pro internet věcí

České Radiokomunikace opět hledají nejlepší nápady pro internet věcí

České Radiokomunikace (CRA) pořádají druhý ročník CRA IoT Hackathonů. Zájemci z řad vývojářů a fanoušků moderních technologií mohou změřit své síly a během jediného dne sestrojit co nejzajímavější funkční prototyp zařízení, které bude komunikovat prostřednictvím sítě LoRa. CRA IoT Hackathony se letos uskuteční ve dvou fázích, na jaře a na podzim, v různých městech České republiky. Jarní běh se odstartuje 31. března v Brně a 7. dubna v Praze.

Obrázek ke článku Cloud computing je využíván stále intenzivněji

Cloud computing je využíván stále intenzivněji

Využívání cloud computingu nabývá na intenzitě. Jen v letošním roce vzroste podle analytiků trh se službami veřejného cloudu o 18 %, přičemž o téměř 37 % vzrostou služby typu IaaS. Růst o více než pětinu pak čeká služby poskytování softwaru formou služby, tedy SaaS. Aktuálním trendům v oblasti využívání cloudu se bude věnovat konference Cloud computing v praxi, která se koná 23. března. 2017 v pražském Kongresovém centru Vavruška na Karlově náměstí 5.

loadingtransparent (function() { var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true; po.src = 'https://apis.google.com/js/plusone.js'; var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s); })();
Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032017 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý