Ocena:

Książka jest wysoko ceniona za eksplorację szablonów C++ i technik metaprogramowania, a wielu recenzentów chwali jej oryginalność, głębię i wpływ na zaawansowane programowanie. Chociaż oferuje ona istotne spostrzeżenia i techniki dla doświadczonych programistów, jest uważana za wymagającą i nieodpowiednią dla początkujących.
Zalety:⬤ Zapewnia przełomowy wgląd w szablony C++ i metaprogramowanie.
⬤ Opisuje innowacyjne techniki, takie jak projektowanie oparte na zasadach i typelisty.
⬤ Wysoce zalecane dla średnio zaawansowanych i zaawansowanych programistów.
⬤ Oferuje praktyczne rozwiązania w zakresie tworzenia komponentów wielokrotnego użytku i wzorców projektowych, dzięki czemu jest cenna dla autorów bibliotek i architektów oprogramowania.
⬤ Nawet w przypadku starszych standardów C++, materiał pozostaje aktualny i nadal wpływa na kolejne biblioteki, takie jak Boost.
⬤ Poziom złożoności jest wysoki, przez co książka nie jest odpowiednia dla początkujących programistów.
⬤ Niektórzy recenzenci zauważają liczne literówki i problemy z fragmentami kodu, co komplikuje zrozumienie.
⬤ Części książki mogą wydawać się przestarzałe, biorąc pod uwagę ostatnie zmiany w C++.
⬤ Skupienie się na pewnych zaawansowanych koncepcjach może nie zaspokoić wszystkich potrzeb programistycznych, prowadząc niektórych do uznania tego za przesadę.
(na podstawie 105 opinii czytelników)
Modern C++ Design: Generic Programming and Design Patterns Applied
W Modern C++ Design Andrei Alexandrescu otwiera nowe perspektywy dla programistów C++. Wykazując się niezwykłą kreatywnością i wirtuozerią programowania, Alexandrescu oferuje najnowocześniejsze podejście do projektowania, które łączy wzorce projektowe, programowanie ogólne i C++, umożliwiając programistom osiągnięcie ekspresyjnego, elastycznego i wysoce wielokrotnego użytku kodu.
Książka ta wprowadza koncepcję komponentów generycznych - szablonów projektowych wielokrotnego użytku, które tworzą kod standardowy do wykorzystania przez kompilator - wszystko w języku C++. Komponenty generyczne umożliwiają łatwiejsze i bardziej płynne przejście od projektu do kodu aplikacji, generują kod, który lepiej wyraża pierwotną intencję projektową i wspierają ponowne wykorzystanie struktur projektowych przy minimalnym przekodowaniu.
Autor opisuje specyficzne techniki i funkcje C++, które są wykorzystywane w budowaniu komponentów generycznych, a następnie wdraża przemysłowe komponenty generyczne do rzeczywistych zastosowań. Powtarzające się kwestie, z którymi programiści C++ spotykają się w swojej codziennej działalności, są dogłębnie omówione i zaimplementowane w ogólny sposób. Należą do nich
⬤ Projektowanie oparte na zasadach w celu zapewnienia elastyczności.
⬤ Częściowa specjalizacja szablonów.
⬤ Typy - wydajne struktury manipulacji typami.
⬤ Wzorce takie jak Visitor, Singleton, Command i Factories.
⬤ Silniki wielometodowe.
Dla każdego komponentu generycznego, książka przedstawia podstawowe problemy i opcje projektowe, a na koniec implementuje rozwiązanie generyczne.
Ponadto, towarzysząca strona internetowa, http: //www.awl.com/cseng/titles/0-201-70431-5, udostępnia implementacje kodu dla komponentów generycznych w książce i zapewnia bezpłatną, możliwą do pobrania bibliotekę C++ o nazwie Loki, stworzoną przez autora. Loki zapewnia gotową funkcjonalność dla praktycznie każdego projektu C++.
Wypróbuj wszystkie przykłady z tej książki na stronie www.codesaw.com. CodeSaw to bezpłatne narzędzie do nauki online, które pozwala eksperymentować z kodem na żywo z książki bezpośrednio w przeglądarce.