Современное проектирование на C++
В книге Современное проектирование на C++ Андрей Александреску открыл новые перспективы в области программирования на языке C++. Проявив великолепные творческие способности, Александреску виртуозно разработал совершенно новый подход к проектированию, объединяющий шаблонное проектирование, обобщенное программирование и особенности языка C++. Это позволяет программистам создавать выразительные и гибкие программы, хорошо приспособленные к повторному применению.
В книге вводится понятие обобщенных компонентов — шаблонов проектирования, пригодных для повторного применения и позволяющих создавать шаблонные коды для компилятора, причем для их разработки используется только язык C++. Обобщенные компоненты позволяют легко и гладко переходить от проекта к прикладной программе, генерируя код, который лучше соответствует целям исходного проекта и поддерживает возможность повторного использования структур с минимальными изменениям.
Автор описывает особенности программирования на языке C++, позволяющие создавать обобщенные компоненты и применять их для создания реальных приложений на промышленной основе. В книге глубоко проанализированы и решены актуальные задачи программирования. В частности, рассмотрены следующие аспекты обобщенного программирования:
- Гибкое проектирование на основе стратегий.
- Частичная специализация шаблонов.
- Списки типов — мощное средство для манипуляции структурами.
- Шаблоны проектирования Visitor, Singleton. Command и Abstract-Factory.
- Мультиметоды.
Для каждого обобщенного компонента в книге рассмотрены все связанные с ним проблемы и аспекты проектирования, а также представлено обобщенное решение соответствующей задачи. Коды обобщенных компонентов, описанных в книге, а также библиотеку Loki, созданную автором на языке C++, можно свободно загрузить с Web-страниц. Библиотека Loki обеспечивает замечательные функциональные возможности для практически любых проектов, создаваемых на языке C++.
Об авторе:
Андрей Александреску работает руководителем группы разработчиков в компании RealNetworks, Inc. Будучи обозревателем журнала C/C++ Users, а также бывшим обозревателем журнала C++ Report, он заслужил признание лидеров этой области программирования. В сферу интересов Андрея входят языки программирования, аспекты повторного использования программного обеспечения и проблемы сжатия данных.