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

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

 

Kniha: Návrhové vzory

Google       Google       19. 11. 2009       30 608×

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.

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

Obrázek ke článku Stavebnice umělé inteligence 1

Stavebnice umělé inteligence 1

Článek popisuje první část stavebnice umělé inteligence. Obsahuje lineární a plošnou optimalizaci.  Demo verzi je možné použít pro výuku i zájmovou činnost. Profesionální verze je určena pro vývojáře, kteří chtějí integrovat popsané moduly do svých systémů.

Obrázek ke článku Hybridní inteligentní systémy 2

Hybridní inteligentní systémy 2

V technické praxi využíváme často kombinaci různých disciplín umělé inteligence a klasických výpočtů. Takovým systémům říkáme hybridní systémy. V tomto článku se zmíním o určitém typu hybridního systému, který je užitečný ve velmi složitých výrobních procesech.

Obrázek ke článku Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Jak vést kvalitně tým v IT oboru: Naprogramujte si ty správné manažerské kvality

Vedení týmu v oboru informačních technologií se nijak zvlášť neliší od jiných oborů. Přesto však IT manažeři čelí výzvě v podobě velmi rychlého rozvoje a tím i rostoucími nároky na své lidi. Udržet pozornost, motivaci a efektivitu týmu vyžaduje opravdu pevné manažerské základy a zároveň otevřenost a flexibilitu pro stále nové výzvy.

Obrázek ke článku Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Síla týmů se na home office může vytrácet. Odborníci radí, jak z pracovních omezení vytěžit maximum

Za poslední rok se podoba práce zaměstnanců změnila k nepoznání. Především plošné zavedení home office, které mělo být zpočátku jen dočasným opatřením, je pro mnohé už více než rok každodenní realitou. Co ale dělat, když se při práci z domova ztrácí motivace, zaměstnanci přestávají komunikovat a dříve fungující tým se rozpadá na skupinu solitérů? Odborníci na personalistiku dali dohromady několik rad, jak udržet tým v chodu, i když pracovní podmínky nejsou ideální.

Hostujeme u Českého hostingu       ISSN 1801-1586       ⇡ Nahoru Webtea.cz logo © 20032024 Programujte.com
Zasadilo a pěstuje Webtea.cz, šéfredaktor Lukáš Churý