Object-Oriented Software Design in C++

€41,37

Learn the fundamentals of Object-Oriented design by investigating good—and bad—code!

Well-designed applications run more efficiently, have fewer bugs, and are easier to revise and maintain. Using an engaging “before-and-after” approach, Object-Oriented Software Design in C++ shows you exactly what bad software looks like and how to fix it with good design principles and patterns.

In Object-Oriented Software Design in C++, you’ll find:

  • Design-code-test iterations that improve code with each revision
  • Gathering requirements to make sure you’re developing the right application
  • Design principles like encapsulation and delegation that solve programming problems
  • Design patterns including Observer Design Pattern that fix architecture issues
  • Using recursion and multithreading to simplify common solutions
  • Object-Oriented Software Design in C++ is a vital guide to building the kind of high performance applications delivered by the pros—all using industry-proven design principles and patterns. You’ll learn how to gather and analyze requirements so you’re building exactly what your client is looking for, backtrack mistakes with iterative development, and build a toolbox of design patterns that troubleshoot common issues with application architecture. The book’s accessible examples are written in C++ 17, but its universal principles can be applied to any object-oriented language.

    Purchase of the print book includes a free eBook in PDF and ePub formats from Manning Publications.

    About the technology

    Good design is the foundation of great software. Mastering the principles of object-oriented design is the surest way to create applications that run fast, have few bugs, and last well into the future. Written especially for new C++ programmers, this easy-to-read book gently mentors you in the art of designing great software.

    About the book

    Object-Oriented Software Design in C++ introduces object-oriented design principles, practices, and patterns in clear, jargon-free language. The instantly-familiar before-and-after examples highlight the benefits of good design. Each chapter is full of friendly conversations that anticipate your questions and help point out the subtleties you might overlook. Along the way, you’ll pick up tips about idiomatic C++ style that will set your code apart.

    What's inside

  • Design-code-test iterations
  • Design principles for common programming problems
  • Architecture design patterns in plain English
  • Recursion and multithreading
  • About the reader

    Examples are in C++ 17.

    About the author

    Ronald Mak is a former NASA senior scientist. Currently, he teaches computer science at San Jose State University.

    The technical editor on this book was Juan Rufes.

    Table of Contents

    PART 1
    1 The path to well-designed software
    2 Iterate to achieve good design
    PART 2
    3 Get requirements to build the right application
    4 Good class design to build the application right
    PART 3
    5 Hide class implementations
    6 Don’t surprise your users
    7 Design subclasses right
    PART 4
    8 The Template Method and Strategy Design Patterns
    9 The Factory Method and Abstract Factory Design Patterns
    10 The Adapter and Façade Design Patterns
    11 The Iterator and Visitor Design Patterns
    12 The Observer Design Pattern
    13 The State Design Pattern
    14 The Singleton, Composite, and Decorator Design Patterns
    PART 5
    15 Designing solutions with recursion and backtracking
    16 Designing multithreaded programs

    pro-mbooks3 : libris