• Fri frakt över 249 kr
  • •
  • Snabba leveranser
  • •
  • Billiga böcker
Kundservice

Du är på sajten för privatpersoner.

Företag, bibliotek eller offentlig verksamhet?

Du handlar på classic.bokus.com, där alla dina funktioner finns intakta.
Till classic.bokus.com
Bokus logotyp. Gå till startsidan.
  • Erbjudanden
  • Nyheter
  • Student
  • Topplistor
  • Barn & ungdom
  • Bokus Play
  • E-böcker
  • Pocketböcker
  • Spel & pussel

10% studentrabatt med kod TERM26

Sidfot

Mina sidor

    Hjälp

    • Kundservice
    • Vanliga frågor och svar
    • Frakt och leverans
    • Retur vid ångerrätt
    • Reklamera vara
    • Betalning
    • Köpvillkor
    • Allmänna villkor
    • Information om webbplatsens tillgänglighet

    Om Bokus

    • Om oss
    • Pressrum
    • För studenter
    • För företag
    • För bibliotek och offentlig verksamhet
    • För leverantörer
    • Hållbarhet

    Populärt

    • Aktuella erbjudanden
    • Presentkort
    • Studentlitteratur
    • Nya böcker
    • Topplistor
    • Signerade böcker
    • Engelska böcker

    Inspiration

    • Boktips
    • BookTok
    • Populära bokserier
    • Barnbokskaraktärer
    • Populära författare

    Mina sidor

      Hjälp

      • Kundservice
      • Vanliga frågor och svar
      • Frakt och leverans
      • Retur vid ångerrätt
      • Reklamera vara
      • Betalning
      • Köpvillkor
      • Allmänna villkor
      • Information om webbplatsens tillgänglighet

      Om Bokus

      • Om oss
      • Pressrum
      • För studenter
      • För företag
      • För bibliotek och offentlig verksamhet
      • För leverantörer
      • Hållbarhet

      Populärt

      • Aktuella erbjudanden
      • Presentkort
      • Studentlitteratur
      • Nya böcker
      • Topplistor
      • Signerade böcker
      • Engelska böcker

      Inspiration

      • Boktips
      • BookTok
      • Populära bokserier
      • Barnbokskaraktärer
      • Populära författare
      Logotyp för Bokus
      Följ oss på Facebook (extern länk)Följ oss på Instagram (extern länk)Följ oss på YouTube (extern länk)Följ oss på TikTok (extern länk)
      bokus @ CookiesAnpassa cookiesIntegritetspolicyKöpvillkor
      Till Citymail hemsida (extern länk)Till Budbee hemsida (extern länk)Till Postnord hemsida (extern länk)Till Schenker hemsida (extern länk)Till Early Bird hemsida (extern länk)Till Walleys hemsida (extern länk)
      1. Data och IT
      2. Grafik och bildbehandling

      API Design for C++

      AvMartin Reddy

      Häftad, Engelska, 2024

      916 kr

      Beställningsvara. Skickas inom 10-15 vardagar. Fri frakt över 249 kr.

      Fler format och utgåvor

      Häftad

      649 kr

      E-bok

      602 kr

      E-bok

      1 295 kr

      Beskrivning

      API Design for C++, Second Edition provides a comprehensive discussion of Application Programming Interface (API) development, from initial design through implementation, testing, documentation, release, versioning, maintenance, and deprecation. It is the only book that teaches the strategies of C++ API development, including interface design, versioning, scripting, and plug-in extensibility. Drawing from the author's experience on large scale, collaborative software projects, the text offers practical techniques of API design that produce robust code for the long-term. It presents patterns and practices that provide real value to individual developers as well as organizations.

      The Second Edition includes all new material fully updated for the latest versions of C++, including a new chapter on concurrency and multithreading, as well as a new chapter discussing how Objective C++ and C++ code can co-exist and how a C++ API can be accessed from Swift programs. In addition, it explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that produce high quality, robust, and long-lived APIs. It focuses on various API styles and patterns that will allow you to produce elegant and durable libraries. A discussion on testing strategies concentrates on automated API testing techniques rather than attempting to include end-user application testing techniques such as GUI testing, system testing, or manual testing.



      • Teaches the strategies of C++ API development, including design, versioning, documentation, testing, scripting, and extensibility
      • Includes extensive code examples that illustrate each concept, with fully functional examples and working source code for experimentation available online
      • Covers various API styles and patterns, with a focus on practical and efficient designs for large-scale, long-term projects
      • Includes updated URLs and ensures all code examples continue to work with modern compilers and supporting tools

      Produktinformation

      • Utgivningsdatum:2024-05-23
      • Mått:191 x 235 x 33 mm
      • Vikt:1 330 g
      • Format:Häftad
      • Språk:Engelska
      • Antal sidor:648
      • Upplaga:2
      • Förlag:Elsevier Science
      • ISBN:9780443222191

      Utforska kategorier

      • Grafik och bildbehandling inom Data och IT
      • Programspråk inom Data och IT
      • Diskret matematik inom Naturvetenskap och teknik

      Mer om författaren

      Dr. Martin Reddy holds a Ph.D. in Computer Science and has over 30 years of experience in the software industry. He is a Fellow of the IEEE, a Fellow of the AAIA, and a Distinguished Member of the ACM. He has published 10 patents, over 40 professional articles, and 2 books. Martin was co-founder and CTO of the AI startup, PullString, where he oversaw the development of the company's technology until it was acquired by Apple in 2019. While at Apple, Martin was a software architect responsible for the architecture and APIs of major components of the Siri virtual assistant. Before that, Dr. Reddy worked for 6 years at Pixar Animation Studios where he was a lead engineer for the studio's in-house animation system. He worked on several Academy Award Winning and Nominated films, such as "Finding Nemo", "The Incredibles", "Cars", "Ratatouille", and "Wall-E". He was also the hair model for Mr Incredible. Martin began his career at SRI International where he worked on a distributed 3D terrain visualization system and co-authored the geospatial functionality in the VRML and X3D ISO standards. Martin was awarded Alumnus of the Year by his alma mater, Strathclyde University.

      Recensioner i media

      "Martin Reddy draws from his experience on large scale, collaborative software projects to present patterns and practices that provide real value to individual developers as well as organizations. API Design for C++ explores often overlooked issues, both technical and non-technical, contributing to successful design decisions that product high quality, robust, and long-lived APIs." --Eric Gregory, Software Architect, Pixar Animation Studios

      Innehållsförteckning

      • 1. Introduction What Are APIs? What's Different about API Design? Why Should You Use APIs? When Should You Avoid APIs? API Examples File Formats and Network Protocols About This Book2. Qualities Model the Problem Domain Hide Implementation Details Minimally Complete Easy to Use Loosely coupled Stable, Documented, and Tested3. Patterns Pimpl Idiom Singleton Factory Methods API Wrapping Patterns Observer Pattern4. Design A Case for Good Design Gathering Functional Requirements Creating Use Cases Elements of API Design Architecture Design Class Design Function Design5. Styles Flat C APIs Object-Oriented C++ APIs Template-Based APIs Data-Driven APIs6. C++ Usage Namespaces Constructors and Assignment Const Correctness Templates Operator Overloading Function Parameters Avoid #define for Constants Avoid Using Friends Exporting Symbols Coding Conventions7. C++ Revisions Which C++ Revision to Use C++11 API Features Smart Pointers Explicit Member Functions Explicit Overrides and Final Enum Classes Function Objects Tuples Hash Tables Constant Expressions Null pointer constant Type aliases with using Unicode String Literals C++14 API Features The deprecated Attribute More Relaxed Const Expressions Binary Literals and Digit Separators C++17 API Features Nested Namespace Definitions Inline Variables Check for Header Availability Function Exception Specifications String Views Optionals Any Type Variant Container Byte Type C++20 API Features Modules Template Constraints and Concepts The Spaceship Operator The consteval Specifier Coroutines Version Header C++23 API Features Conditional Preprocessor Directives Multidimensional Subscript Operator Expected Values8. Performance Pass Input Arguments by Const Reference Minimize #include Dependencies Declaring Constants Initialization Lists Memory Optimization Don't Inline Until You Need To Copy on Write Iterating over Elements Performance Analysis9. Concurrency Thread Safety Avoiding Global Data Returning Data by Value The Use of static Initialization of Data Mutex Locking for Data Access Using Async Functions Promises and Futures Producer Consumer API10. Versioning Version Numbers Software Branching Strategies Life Cycle of an API Levels of Compatibility How to Maintain Backward Compatibility API Reviews11. Documentation Reasons to Write Documentation Types of Documentation Documentation Usability Inclusive Language Using Doxygen12. Testing Reasons to Write Tests Types of API Testing Writing Good Tests Writing Testable Code Automated Testing Tools13. Objective C++ and Swift Using Objective C++ within a C++ API Objective C++ wrapper for C++ API Using os_log and signposts Accessing an Objective C++ API in Swift14. Scripting Adding Script Bindings Script Wrapping Technologies Adding Python Bindings with Boost Python Adding Ruby Bindings with SWIG15. Extensibility Extending via Plugins Extending via Inheritance Extending via Templates
      Hoppa över listan

      Mer från samma författare

      Robert Huebner, Benjamin Watson, Amitabh Varshney, Jonathan D. Cohen, Martin Reddy, David Luebke - Level of Detail for 3D Graphics, E-bok

      Level of Detail for 3D Graphics

      Robert Huebner, Benjamin Watson, Amitabh Varshney, Jonathan D. Cohen, Martin Reddy, David Luebke

      E-bok
      2002

      872 kr

      Hoppa över listan

      Du kanske också är intresserad av

      Martin Reddy - API Design for C++, E-bok

      API Design for C++

      Martin Reddy

      E-bok
      2011

      602 kr

      Martin Reddy - API Design for C++, E-bok

      API Design for C++

      Martin Reddy

      E-bok
      2024

      1 295 kr

      Martin Reddy - API Design for C++, Häftad

      API Design for C++

      Martin Reddy

      Häftad, 2011

      649 kr

      Robert Huebner, Benjamin Watson, Amitabh Varshney, Jonathan D. Cohen, Martin Reddy, David Luebke - Level of Detail for 3D Graphics, E-bok

      Level of Detail for 3D Graphics

      Robert Huebner, Benjamin Watson, Amitabh Varshney, Jonathan D. Cohen, Martin Reddy, David Luebke

      E-bok
      2002

      872 kr

      Måns Petter Zelmerlöw - När allt faller, Inbunden
      • -12%

      När allt faller

      Måns Petter Zelmerlöw

      Inbunden, 2026

      229 kr259 kr

      Klara Peters Bastin - SIGNERAD - Om julens wälgång, Inbunden
      • Signerad!

      SIGNERAD - Om julens wälgång

      Klara Peters Bastin

      Inbunden, 2026

      249 kr

      Carola Häggkvist - SIGNERAD - Jag är Carola, Inbunden
      • Signerad!

      SIGNERAD - Jag är Carola

      Carola Häggkvist

      Inbunden, 2026

      269 kr

      Roland Paulsen - Avbegåvad : en essäberättelse om arv och miljö, Inbunden
      • -15%

      Avbegåvad : en essäberättelse om arv och miljö

      Roland Paulsen

      Inbunden, 2026

      225 kr265 kr

      Vendela Blomström, Jeanna Wennerberg - Akademiskt läsande och skrivande, Häftad
      • -10% student

      Akademiskt läsande och skrivande

      Vendela Blomström, Jeanna Wennerberg

      Häftad, 2026

      421 kr

      Åse Falkman Fredrikson, Anna Hallén - Kaos i klimakteriet : lösningar som fungerar, Inbunden
      • Hälsa

      Kaos i klimakteriet : lösningar som fungerar

      Åse Falkman Fredrikson, Anna Hallén

      Inbunden, 2026

      269 kr