By day, Fedor Pikus is head of the Advanced Projects Team in Siemens Digital Industries Software. His responsibilities include planning the long-term technical direction of Calibre products, directing and training the engineers who work on these products, design, and architecture of the software, and researching new design and software technologies. It’s a demanding job that makes use of his many years of experience, combined with his profound expertise and comprehensive knowledgebase. But Fedor still (somehow) finds time for other activities, like writing books to share that knowledge and experience with others. Maybe he just doesn’t sleep?

His first book, Hands-On Design Patterns with C++: Solve common C++ problems with modern design patterns and build robust applications, has just been released in a second edition. One of the top 100 books for Computer Hardware Embedded Systems, this book is aimed at experienced C++ developers and programmers who want to learn more about software design patterns and principles and how to apply them to create robust, reusable, and easily maintainable programs and software systems.

Design patterns are commonly accepted solutions to well-recognized design problems. They essentially provide a library of reusable components that can be applied to software architecture (as opposed to a concrete implementation). By creating a design pattern, a programmer can (sometimes with only a single line of code) convey a considerable amount of information. The focus of Fedor’s book is on the design patterns that naturally lend themselves to the needs of a C++ programmer, and on the patterns that uniquely benefit from the features of C++ (in particular, generic programming). He provides an in-depth explanation of tips, tricks, and best practices for solving common design and architectural challenges using design patterns. Readers can expect to learn to:

  • Recognize the most common design patterns used in C++
  • Understand how to use C++ generic programming to solve common design problems
  • Explore the most powerful C++ idioms, their strengths, and drawbacks
  • Rediscover how to use popular C++ idioms with generic programming
  • Understand the impact of design patterns on the program’s performance

If you’re in the target reader base and you haven’t already got a copy, why not get the newest version with the latest information on C++ features?

Meanwhile, we’re off to see if we can convince Fedor to at least take a break for lunch…