Mezi návrhem programu a jeho kódem v daném jazyce zeje i přes různý stupeň podpory návrhových metodik (např. objektovou orientaci) obvykle hluboká propast. Protože kód se musí starat o nejposlednější implementační detaily a množství podružných úkolů, cíl návrhu se tak zpravidla ztratí v houštině kudrlinek.
Kniha Andreie Alexandresca (v originále Modern C++ Design) v tomto směru otevírá programátorům v C++ nové obzory. Nevídaná nápaditost a programátorská virtuozita autora dala vzniknout revolučnímu přístupu k návrhu programů, který společným využitím návrhových vzorů, generického programování a jazyka C++ umožňuje programátorům dosáhnout čitelnějšího, snadno upravovatelného a vysoce znovupoužitelného kódu.
Autor v knize, jež se stala milníkem návrhu aplikací v C++, zavádí princip tzv. generických komponent – hromadně použitelných návrhových šablon jako nástroje pro programování kompilátoru – a to nástroje, který je výpočetně úplný! Generické komponenty umožňují hladší přechod od návrhu k aplikačnímu kódu a takto vytvořený kód lépe vystihuje původní záměr a usnadňuje jeho použití v jiných situacích, neboť vyžaduje minimální změny. Konkrétně k tomu slouží:
Návrh tříd založený na zásadách (policies) pro vyšší flexibilitu
Částečná specializace šablon
Seznamy typů (typelists) – mocné struktury pro manipulaci s typy
Alokátor paměti pro malé objekty
Zobecněné funktory usnadňující meziobjektovou komunikaci
Návrhové vzory Příkaz, Singleton, Návštěvník, Abstraktní továrna a další
Multimetody pro výběr volání objektů dle dynamického typu objektu
Kniha je vhodná pro pokročilejší programátory. Ocení ji zejména tvůrci knihoven, ale i všichni programátoři z praxe, kteří stojí o efektivnější a přehlednější kód. Poznají, čím jazyk C++ ve skutečnosti je – zdaleka nejen „C s třídami“.
Štítky:
Počítače