This is the definitive book for all C++ software professionals involved in large development efforts such as databases, operating systems, compilers, and frameworks. It is the first C++ book that actually demonstrates how to...

Buy Now From Amazon

This is the definitive book for all C++ software professionals involved in large development efforts such as databases, operating systems, compilers, and frameworks. It is the first C++ book that actually demonstrates how to design large systems, and one of the few books on object-oriented design specifically geared to practical aspects of the C++ programming language. In this book, Lakos explains the process of decomposing large systems into physical (not inheritance) hierarchies of smaller, more manageable components. Such systems with their acyclic physical dependencies are fundamentally easier and more economical to maintain, test, and reuse than tightly interdependent systems. In addition to explaining the motivation for following good physical as well as logical design practices, Lakos provides you with a catalog of specific techniques designed to eliminate cyclic, compile-time, and link-time (physical) dependencies. He then extends these concepts from large to very large systems. The book concludes with a comprehensive top-down approach to the logical design of individual components. Appendices include a valuable design pattern Protocol Hierarchy designed to avoid fat inte

Similar Products

Effective Modern C++: 42 Specific Ways to Improve Your Use of C++11 and C++14Design Patterns: Elements of Reusable Object-Oriented SoftwareModern C++ Design: Generic Programming and Design Patterns AppliedC++ Gotchas: Avoiding Common Problems in Coding and DesignEffective STL: 50 Specific Ways to Improve Your Use of the Standard Template LibraryEffective C++: 55 Specific Ways to Improve Your Programs and Designs (3rd Edition)C++ Coding Standards: 101 Rules, Guidelines, and Best PracticesExceptional C++: 47 Engineering Puzzles, Programming Problems, and Solutions