Taming C++

Pattern Classes and Persistence for Large Projects

"This book is about simple, obvious things that make or break big projects."

Jiri Soukup

Jiri Soukup: Taming C++: Pattern Classes and Persistence for Large Projects, Addison-Wesley 1994, ISBN
The relationships and cooperation of C++ classes is a central issue in large project development, in testing, and in maintenance. Taming C++ takes a fresh look at the complex organization typical for large C++ systems and shows how this problem can be minimized by avoiding cyclic dependencies between classes, and by implementing the original object-oriented design so that it remains visible in the final code. This book shows you, through extensive examples, how to design and write C++ code using a new type of class - the pattern class - which helps you produce layered class organization with limited cyclic dependencies. The book then focuses on another problem of large project development - persistent data - integrating it with its general approach and providing copious implementation details unavailable elsewhere.



  • Emphasizes code readability achieved through better class organization.
  • Teaches how to improve software architecture.
  • Shows how pattern classes encapsulate the high level object-oriented design.
  • Promotes layered structuring of class relationships.
  • Compares and contrasts design methodologies, class libraries, approaches to testing, and treatments of persistence.
  • Explains how persistent data can be used as fast databases (frameworks) residing in virtual memory.

Taming C++ is written for programmers, designers, and software managers. It will also be useful to applications developers, researchers, and advanced students. While the techniques presented here can improve any application, they are specifically important for large projects.