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

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

 
Hledat
Moderní platforma pro vytvoření vašeho nového webu – Wix.com.
Nyní už můžete mít web zdarma.
Vybavení pro Laser Game
Spuštěn Filmový magazín
Laser Game Brno
Laser Game Ostrava

Kniha: Návrhové vzory

Google       Google       19. 11. 2009       27 704×

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

Obrázek ke článku Ericsson ConsumerLab Report: rozšířená realita je další úrovní gamingu

Ericsson ConsumerLab Report: rozšířená realita je další úrovní gamingu

Celkem 66 % uživatelů zajímá rozšířená realita v oblasti gamingu. Mezi nimi je i 35 % těch, kteří jinak hry nehrají.
Pro téměř 50 % respondentů by bylo zajímavé zapojení virtuální objektů do reálného světa. Objekty by zůstaly tam, kde je při hře „umístili“.
Až 43 % uživatelů láká využití rozšířené reality ve sportu

Reklama
Reklama
Obrázek ke článku Instalace nejnovější verze Apache 2.4, PHP 7.3, MariaDB 10.3 a Memcached na Windows 10

Instalace nejnovější verze Apache 2.4, PHP 7.3, MariaDB 10.3 a Memcached na Windows 10

Buďte při vývoji efektivní! Pomocí tohoto návodu během chvíle vytvoříte ze svého počítače lokální webový server. Vyzbrojíte jej vším, co budete při práci potřebovat: Apache 2.4, PHP 7.3, MariaDB 10.3 a Memcached. Je to plná polní pro webové vývojáře s Windows 10. Navíc poradíme, jak mít na localhostu více projektů pomocí VirtualHost.

Obrázek ke článku Do poskytovatele managed hostingových služeb vshosting~ vstupují zahraniční investoři

Do poskytovatele managed hostingových služeb vshosting~ vstupují zahraniční investoři

Po více než roce jednání do vshosting~ vstoupili 3 investiční skupiny z Německa: Pecunalta, BrainWeb Investment a Quines Capital. Jde o investiční skupiny, které mají účast na projektech jako PlusServer (největší managed provider v Německu a jeden z největších v Evropě), PLESK, cPanel, CloudLinux, GoDaddy (největší světový hostingový poskytovatel z USA), či Acronis, pomohou vshosting~ v jeho plánované mezinárodní expanzi na další zahraniční trhy. Ve vshosting~ nyní drží 75% podíl, zbylých 25 % zůstává zakladatelům vshosting~, kterými jsou Damir Špoljarič (CEO) a Jan Martinů (CTO).

Obrázek ke článku Posuňte své znalosti IT na výrazně vyšší úroveň

Posuňte své znalosti IT na výrazně vyšší úroveň

Zájem o IT odborníky je v současnosti v tuzemsku i v zahraničí enormní a vedení firem si moc dobře uvědomuje, jak těžké je získat ty správné. I přesto, že je odborníků na trhu dlouhodobý nedostatek, stále platí, že část z nich je - a bude - placena výrazně lépe než ti ostatní. Proč tedy nebýt mezi nimi?

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