• Complain

Klaus Iglberger - C++ Software Design: Design Principles and Patterns for High-Quality Software

Here you can read online Klaus Iglberger - C++ Software Design: Design Principles and Patterns for High-Quality Software full text of the book (entire story) in english for free. Download pdf and epub, get meaning, cover and reviews about this ebook. City: Sebastopol, CA, year: 2022, publisher: OReilly Media, genre: Computer. Description of the work, (preface) as well as reviews are available. Best literature library LitArk.com created for fans of good reading and offers a wide selection of genres:

Romance novel Science fiction Adventure Detective Science History Home and family Prose Art Politics Computer Non-fiction Religion Business Children Humor

Choose a favorite category and find really read worthwhile books. Enjoy immersion in the world of imagination, feel the emotions of the characters or learn something new for yourself, make an fascinating discovery.

Klaus Iglberger C++ Software Design: Design Principles and Patterns for High-Quality Software
  • Book:
    C++ Software Design: Design Principles and Patterns for High-Quality Software
  • Author:
  • Publisher:
    OReilly Media
  • Genre:
  • Year:
    2022
  • City:
    Sebastopol, CA
  • Rating:
    4 / 5
  • Favourites:
    Add to favourites
  • Your mark:
    • 80
    • 1
    • 2
    • 3
    • 4
    • 5

C++ Software Design: Design Principles and Patterns for High-Quality Software: summary, description and annotation

We offer to read an annotation, description, summary or preface (depends on what the author of the book "C++ Software Design: Design Principles and Patterns for High-Quality Software" wrote himself). If you haven't found the necessary information about the book — write in the comments, we will try to find it.

Good software design is essential for the success of your project, but designing software is hard to do. You need to have a deep understanding of the consequences of design decisions and a good overview of available design alternatives. With this book, experienced C++ developers will get a thorough, practical, and unparalleled overview of software design with this modern language.

C++ trainer and consultant Klaus Iglberger explains how you can manage dependencies and abstractions, improve changeability and extensibility of software entities, and apply and implement modern design patterns to help you take advantage of todays possibilities. Software design is the most essential aspect of a software project because it impacts the softwares most important properties: maintainability, changeability, and extensibility.

  • Learn how to evaluate your code with respect to software design
  • Understand what software design is, including design goals such as changeability and extensibility
  • Explore the advantages and disadvantages of each design approach
  • Learn how design patterns help solve problems and express intent
  • Choose the right form of a design pattern to get the most out of its advantages

Klaus Iglberger: author's other books


Who wrote C++ Software Design: Design Principles and Patterns for High-Quality Software? Find out the surname, the name of the author of the book and a list of all author's works by series.

C++ Software Design: Design Principles and Patterns for High-Quality Software — read online for free the complete book (whole text) full work

Below is the text of the book, divided by pages. System saving the place of the last page read, allows you to conveniently read the book "C++ Software Design: Design Principles and Patterns for High-Quality Software" online for free, without having to search again every time where you left off. Put a bookmark, and you can go to the page where you finished reading at any time.

Light

Font size:

Reset

Interval:

Bookmark:

Make
Praise for C Software Design Even after knowing design patterns for a long - photo 1
Praise for C++ Software Design

Even after knowing design patterns for a long time, this book showed me a surprisingly large number of new aspects on how to use them properly in the context of C++ and the SOLID principles.

Matthias Drfel, CTO at INCHRON AG

I really enjoyed reading the book! Studying the guidelines made me reconsider my code and improve it by applying them. Can you ask for more?

Daniela Engert, senior software engineer at GMH Prftechnik GmbH

One of the most entertaining and useful software design books Ive read in a long while.

Patrice Roy, professeur, Collge Lionel-Groulx

It has been over 25 years since the Gang of Fours Design Patterns changed the way programmers think about software. This book changed the way I think about Design Patterns.

Stephan Weller, Siemens Digital Industries Software

C++ Software Design

by Klaus Iglberger

Copyright 2022 Klaus Iglberger. All rights reserved.

Printed in the United States of America.

Published by OReilly Media, Inc. , 1005 Gravenstein Highway North, Sebastopol, CA 95472.

OReilly books may be purchased for educational, business, or sales promotional use. Online editions are also available for most titles (http://oreilly.com). For more information, contact our corporate/institutional sales department: 800-998-9938 or corporate@oreilly.com.

Acquisitions Editor: Amanda Quinn

Indexer: Judith McConville

Development Editor: Shira Evans

Interior Designer: David Futato

Production Editor: Kate Galloway

Cover Designer: Karen Montgomery

Copyeditor: Sonia Saruba

Illustrator: Kate Dullea

Proofreader: Piper Editorial Consulting, LLC

  • September 2022: First Edition
Revision History for the First Edition
  • 2022-09-21: First Release

See http://oreilly.com/catalog/errata.csp?isbn=9781098113162 for release details.

The OReilly logo is a registered trademark of OReilly Media, Inc. C++ Software Design, the cover image, and related trade dress are trademarks of OReilly Media, Inc.

The views expressed in this work are those of the author and do not represent the publishers views. While the publisher and the author have used good faith efforts to ensure that the information and instructions contained in this work are accurate, the publisher and the author disclaim all responsibility for errors or omissions, including without limitation responsibility for damages resulting from the use of or reliance on this work. Use of the information and instructions contained in this work is at your own risk. If any code samples or other technology this work contains or describes is subject to open source licenses or the intellectual property rights of others, it is your responsibility to ensure that your use thereof complies with such licenses and/or rights.

978-1-098-11316-2

[LSI]

Preface

In your hands youre holding the C++ book that I wish I wouldhave had many years ago. Not as one of my first books, no, but as an advanced book, after Ihad already digested the language mechanics and was able to think beyond the C++syntax. Yes, this book would have definitely helped me better understand the fundamentalaspects of maintainable software, and Im confident that it will help you too.

Why I Wrote This Book

By the time I was really digging into the language (that was a few years after the firstC++ standard had been released), I had read pretty much every C++ bookthere was. But despite the fact that many of these books were great and definitely paved theway for my current career as a C++ trainer and consultant, they were toofocused on the little details and the implementation specifics, and too far away from the biggerpicture of maintainable software.

At the time, very few books truly focused on the bigger picture, dealing with the development of large software systems. Among these were John Lakoss Large Scale C++ Software Design, Unfortunately, over the years, thissituation hasnt really changed: most books, talks, blogs, etc., primarily focus onlanguage mechanics and featuresthe small details and specifics. Very few, and in my opinionway too few, new releases focus on maintainable software, changeability, extensibility,and testability. And if they try to, they unfortunately quickly fall back into thecommon habit of explaining language mechanics and demonstrating features.

This is why Ive written this book. A book that does not, in contrast to most others,spend time on the mechanics or the many features of the language, but primarily focuses onchangeability, extensibility, and testability of software in general. A book that does notpretend that the use of new C++ standards or features will make the differencebetween good or bad software, but instead clearly shows that it is the management ofdependencies that is decisive, that the dependencies in our code decide between it beinggood or bad. As such, it is a rare kind of book in the world of C++ indeed, asit focuses on the bigger picture: software design.

What This Book Is About
Software Design

From my point of view, good software design is the essence of every successful softwareproject. Yet still, despite its fundamental role, there is so little literature on the topic,and very little advice on what to do and how to do things right. Why? Well, because itsdifficult. Very difficult. Probably the most difficult facet of writing software that wehave to face. And thats because there is no single right solution, no golden adviceto pass on through the generations of software developers. It always depends.

Despite this limitation, I will give advice on how to design good, high-qualitysoftware. I will provide design principles, design guidelines, and design patterns thatwill help you to better understand how to manage dependencies and turn your softwareinto something you can work with for decades. As stated before, there is no golden advice,and this book doesnt hold any ultimate or perfect solution. Instead, I try toshow the most fundamental aspects of good software, the most important details, the diversityand the pros and the cons of different designs. I will also formulate intrinsic design goalsand demonstrate how to achieve these goals with Modern C++.

Modern C++

For more than a decade, weve been celebrating the advent ofModern C++, applauding the many new features and extensions of the language, andby doing so, creating the impression that Modern C++ will help us solve allsoftware-related problems. Not so in this book. This book does not pretend thatthrowing a few smart pointers at the code will make the code Modern or automaticallyyield good design. Also, this book wont show Modern C++ as an assortmentof new features. Instead, it will show how the philosophy of the language has evolved andthe way we implement C++ solutions today.

But of course, we will also see code. Lots of it. And of course this book will make use of thefeatures of newer C++ standards (including C++20).However, it will also make an effort to emphasize that the design is independent ofthe implementation details and the used features. New features dont change the rules aboutwhat is good design or bad design; they merely change the way we implement good design. Theymake it easier to implement good design. So this book shows and discusses implementationdetails, but (hopefully) doesnt get lost in them and always remains focused on the bigpicture: software design and design patterns.

Next page
Light

Font size:

Reset

Interval:

Bookmark:

Make

Similar books «C++ Software Design: Design Principles and Patterns for High-Quality Software»

Look at similar books to C++ Software Design: Design Principles and Patterns for High-Quality Software. We have selected literature similar in name and meaning in the hope of providing readers with more options to find new, interesting, not yet read works.


Reviews about «C++ Software Design: Design Principles and Patterns for High-Quality Software»

Discussion, reviews of the book C++ Software Design: Design Principles and Patterns for High-Quality Software and just readers' own opinions. Leave your comments, write what you think about the work, its meaning or the main characters. Specify what exactly you liked and what you didn't like, and why you think so.