Hodnotenie:
Kniha je vysoko cenená pre jej skúmanie šablón jazyka C++ a techník metaprogramovania, pričom mnohí recenzenti chvália jej originalitu, hĺbku a vplyv na pokročilé programovanie. Hoci ponúka významné poznatky a techniky pre skúsených programátorov, uvádza sa, že je náročná a nie je vhodná pre začiatočníkov.
Výhody:⬤ Poskytuje prevratné poznatky o šablónach a metaprogramovaní v jazyku C++.
⬤ Opisuje inovatívne techniky, ako je návrh založený na politikách a zoznamy typov.
⬤ Vysoko odporúčané pre stredne pokročilých až pokročilých programátorov.
⬤ Ponúka praktické riešenia na vytváranie opakovane použiteľných komponentov a návrhových vzorov, vďaka čomu je cenná pre autorov knižníc a softvérových architektov.
⬤ Aj pri starších štandardoch C++ zostáva materiál aktuálny a naďalej ovplyvňuje ďalšie knižnice, ako je Boost.
⬤ Úroveň zložitosti je vysoká, takže nie je vhodná pre začiatočníkov alebo začínajúcich programátorov.
⬤ Niektorí recenzenti upozorňujú na početné preklepy a problémy s úryvkami kódu, čo komplikuje pochopenie.
⬤ Niektoré časti knihy sa môžu zdať zastarané vzhľadom na nedávny vývoj v C++.
⬤ Zameranie na niektoré pokročilé koncepty nemusí vyhovovať všetkým potrebám programátorov, čo niektorých vedie k tomu, že ju považujú za prekombinovanú.
(na základe 105 čitateľských recenzií)
Modern C++ Design: Generic Programming and Design Patterns Applied
V knihe Modern C++ Design Andrei Alexandrescu otvára nové možnosti pre programátorov v C++. Alexandrescu preukazuje mimoriadnu kreativitu a programátorskú virtuozitu a ponúka špičkový prístup k návrhu, ktorý spája návrhové vzory, generické programovanie a jazyk C++, čím umožňuje programátorom dosiahnuť expresívny, flexibilný a vysoko opakovane použiteľný kód.
Táto kniha predstavuje koncept generických komponentov - opakovane použiteľných návrhových šablón, ktoré vytvárajú kotlový kód na spotrebu kompilátora - a to všetko v jazyku C++. Generické komponenty umožňujú jednoduchší a plynulejší prechod od návrhu k aplikačnému kódu, generujú kód, ktorý lepšie vyjadruje pôvodný zámer návrhu, a podporujú opakované použitie návrhových štruktúr s minimálnym prekódovaním.
Autor opisuje špecifické techniky a funkcie jazyka C++, ktoré sa používajú pri vytváraní generických komponentov, a pokračuje implementáciou priemyselne silných generických komponentov pre reálne aplikácie. Opakovane sa vyskytujúce problémy, s ktorými sa vývojári C++ stretávajú pri svojej každodennej činnosti, sú podrobne rozobrané a implementované generickým spôsobom. Medzi ne patria:
⬤ Návrh založený na politikách pre flexibilitu.
⬤ Čiastočná špecializácia šablón.
⬤ Typové zoznamy - výkonné štruktúry na manipuláciu s typmi.
⬤ Vzorce ako Visitor, Singleton, Command a Factories.
⬤ Motory s viacerými metódami.
Pre každú generickú zložku kniha predstavuje základné problémy a možnosti návrhu a nakoniec implementuje generické riešenie.
Okrem toho sprievodná webová stránka http: //www.awl.com/cseng/titles/0-201-70431-5 sprístupňuje implementácie kódu pre generické komponenty v knihe a poskytuje voľne stiahnuteľnú knižnicu C++ s názvom Loki, ktorú vytvoril autor. Loki poskytuje hotovú funkcionalitu prakticky pre akýkoľvek projekt v jazyku C++.
Získajte službu s pridanou hodnotou Vyskúšajte si všetky príklady z tejto knihy na adrese www.codesaw.com. CodeSaw je bezplatný online vzdelávací nástroj, ktorý vám umožní experimentovať so živým kódom z knihy priamo v prehliadači.