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

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

 

Kniha: Návrhové vzory

Google       Google       19. 11. 2009       24 697×

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 Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Malware KONNI se úspěšně skrýval 3 roky. Odhalil ho bezpečnostní tým Cisco Talos

Bezpečnostní tým Cisco Talos odhalil celkem 4 kampaně dosud neobjeveného malwaru, který dostal jméno KONNI. Ten se dokázal úspěšně maskovat od roku 2014. Zpočátku se malware zaměřoval pouze na krádeže citlivých dat. Za 3 roky se ale několikrát vyvinul, přičemž jeho současná verze umožňuje útočníkovi z infikovaného počítače nejenom krást data, ale i mapovat stisky na klávesnici, pořizovat screenshoty obrazovky či v zařízení spustit libovolný kód. Pro odvedení pozornosti oběti zasílali útočníci v příloze také obrázek, zprávu a výhružkách severokorejského režimu či kontakty na členy mezinárodních organizací.

Reklama
Reklama
Obrázek ke článku Pouze jedna z deseti lokálních firem ví o pokutách plynoucích z GDPR

Pouze jedna z deseti lokálních firem ví o pokutách plynoucích z GDPR

Trend Micro, celosvětový lídr v oblasti bezpečnostních řešení a VMware, přední světový dodavatel cloudové infrastruktury a řešení pro podnikovou mobilitu, oznámily výsledky výzkumu mezi českými a slovenskými manažery zodpovědnými za ochranu osobních údajů, který zjišťoval, jak jsou připraveni na nové nařízení o ochraně osobních údajů (GDPR). Většina firem v České republice a na Slovensku nad 100 zaměstnanců je již s novým nařízením GDPR obeznámena. Výzkum provedený ve spolupráci s agenturou Ipsos ukázal, že téměř 8 firem z 10 o nařízení ví, přičemž jeho znalost je o něco vyšší na Slovensku (89 %) než v České republice (69 %).

Obrázek ke článku Vyděračský software Locky se vrací, tváří se jako potvrzení platby, odhalil tým Cisco Talos

Vyděračský software Locky se vrací, tváří se jako potvrzení platby, odhalil tým Cisco Talos

Jeden z nejznámějších ransomwarů, Locky, se vrací. Po většinu roku 2016 patřil mezi nejrozšířenější vyděračské softwary. Ke svému šíření využíval emailové kampaně s infikovanými přílohami. Ransomware Locky byl rozesílán prostřednictvím botnetu (internetový robot zasílající spamy) Necurs. Jeho aktivita na konci roku 2016 téměř upadla a spolu s ní i šíření ransomwaru Locky. Před několika týdny se Necurs opět probudil a začal posílat spamy nabízející výhodný nákup akcií. Dne 21. dubna zaznamenal bezpečnostní tým Cisco Talos první velkou kampaň ransomwaru Locky prostřednictvím botnetu Necurs za posledních několik měsíců.

Obrázek ke článku Dovozci baterií mění logistiku, letadlo nahrazuje námořní doprava

Dovozci baterií mění logistiku, letadlo nahrazuje námořní doprava

Dovozci baterií do mobilů či notebooků upouštějí od letecké přepravy zboží. V letošním roce plánují dovézt až 80 % produktů lodí. Přitom před 5 lety byla většina baterií do mobilních přístrojů dovezených do České republiky přepravována letadlem. Za proměnou způsobu transportu akumulátorů stojí zpřísnění pravidel pro leteckou přepravu, která přinášejí vyšší náklady i náročnou agendu.

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ý