Open forum book download Large-Scale C++ Software Design by John Lakos

Large-Scale C++ Software Design by John Lakos

Open forum book download Large-Scale C++ Software Design  by John Lakos

Download Large-Scale C++ Software Design PDF

  • Large-Scale C++ Software Design
  • John Lakos
  • Page: 870
  • Format: pdf, ePub, mobi, fb2
  • Publisher: Addison Wesley

Download Large-Scale C++ Software Design

Open forum book download Large-Scale C++ Software Design by John Lakos


As a member of the IC Division at Mentor Graphics Corporation, I am fortunate to have worked with many bright, talented software engineers, developing very large systems.

Many valuable lessons were learned along the way – knowledge obtained through bitter experience. There were no books to help guide the design process; object-oriented designs on this scale had never before been attempted.

During my 13 years as a C (turned C++) Computer-Aided Design (CAD) software developer, I have seen over and over again that planning ahead invariably produces a higher-quality, more maintainable product. My emphasis at Mentor Graphics has been on helping to ensure that quality is an integral part of the design process from the very start.

Audience Large-Scale C++ Software Design was written explicitly for experienced C++ software developers, system architects, and proactive quality-assurance professionals. This book is particularly appropriate for those involved in large development efforts such as databases, operating systems, compilers, and frameworks.

Yet most of the advice presented in this book also applies to small projects. It is typical for a person to start with a small project and then begin to take on larger and more challenging enterprises. Often the scope of a particular project will expand, and what starts out as a small project becomes a major undertaking. The immediate consequences of disregarding good practice in a large project, however, are far more severe than they are for disregarding good practice in a smaller project.

An object-oriented design book geared specifically to practical aspects of the C++ programming language. A C++ programming book describing how to use the C++ programming language to develop very large systems.

In short, if you feel that you know C++ well, but would like to understand more about how to use the language effectively on large projects, this book is for you.

Except where otherwise indicated, all examples in this text are intended to represent “good design.” Examples presented in earlier chapters are therefore consistent with all practices recommended throughout the book. A disadvantage of this approach is that you may see code that is written differently from the code you are used to seeing, without yet knowing exactly why. I feel that being able to use all of the examples in the book for reference compensates for this drawback.

The second exception is the inconsistent use of package prefixes in the early examples of the book. In a large project environment package prefixes are required, but they are awkward at first and take some getting used to. I have elected to omit the consistent use of registered package prefixes until after they are formally presented in Chapter 7, so as not to detract from the presentation of other important fundamental material.

Developing large systems in C++ is a constant series of engineering trade-offs. There are almost no absolutes. It is tempting to make statements using words such as never and always. Such statements allow for a simplified presentation of the material. For the level of C++ programmers whom I expect will read this book, such sweeping statements would be challenged – and rightly so. To avoid getting side-tracked in such situations, I will state what is (almost) always true, and then provide a footnote or a pointer to the exceptional case.

Header File Extensions:

Implementation File Extensions: .c .cxx .C .c++ .cc .cpp

A Road Map There is a lot of material to cover in this book. Not all readers will have the same background. I have therefore provided some basic (but essential) material in Chapter 1 to help level the field. Expert C++ programmers may choose to skim this section or simply refer to it if needed. Chapter 2 contains a modest collection of software design rules that I would hope every experienced developer will quickly ratify.


Chapter 2: Ground Rules. Important design practices that should be followed in any C++ project.


Chapter 4: Physical Hierarchy. The importance of creating a hierarchy of components with acyclic physical dependencies for testing, maintainability, and reuse.

From the Back Cover


Other ebooks:
Free download android for netbook The Bridge Kingdom 9781733090315 by Danielle L. Jensen (English literature) download link,
Descargar gratis ebooks web CRONICA DE UNA MUERTE ANUNCIADA (Literatura española) DJVU PDB de GABRIEL GARCIA MARQUEZ 9788497592437 read pdf,
Free ebooks in pdf format to download All for One: The Alex & Eliza Trilogy by Melissa de la Cruz in English 9780525515883 MOBI iBook here,
Téléchargez des livres gratuits en ligne pour kindle Julien Green – Journal intégral, 1919-1940 (Litterature Francaise) download pdf,
Ebooks gratuitos sin membresía descargar LA ULTIMA PALABRA DE JUAN ELÍAS de CLAUDIO CERDAN, PAU FREIXAS en español 9788417001056 read pdf,
¿Es seguro descargar torrents de libros electrónicos? CONJURO DE LUZ.TRILOGÍA SOMBRAS DE MAGIA VOL.3 MOBI RTF FB2 (Spanish Edition) site,
Libro completo de descarga gratuita en pdf. HOMBRES BUENOS de ARTURO PEREZ-REVERTE (Spanish Edition) 9788420403243 read book,

Næste indlæg

Free download pdf ebooks Neurofitness: A Brain Surgeon's Secrets to Boost Performance and Unleash Creativity (English Edition) by Rahul Jandial M.D., Ph.D. 9781328969248 PDB