Open navigation menu
Close suggestions
Search
Search
en
Change Language
Upload
Sign in
Sign in
Download free for days
0 ratings
0% found this document useful (0 votes)
332 views
1 page
API Design For C++ Martin Reddy
Uploaded by
emmanuella amonoo
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF, TXT or read online on Scribd
Download now
Download
Save API design for C++ Martin Reddy For Later
Download
Save
Save API design for C++ Martin Reddy For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
0 ratings
0% found this document useful (0 votes)
332 views
1 page
API Design For C++ Martin Reddy
Uploaded by
emmanuella amonoo
AI-enhanced title
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content,
claim it here
.
Available Formats
Download as PDF, TXT or read online on Scribd
Download now
Download
Save API design for C++ Martin Reddy For Later
Carousel Previous
Carousel Next
Download
Save
Save API design for C++ Martin Reddy For Later
0%
0% found this document useful, undefined
0%
, undefined
Embed
Share
Print
Report
Download now
Download
You are on page 1
/ 1
Search
Fullscreen
ACM SIGSOFT Software Engineering Notes Page 50 September 2011 Volume 36 Number 5
API design for C++
Martin Reddy
DOI: 10.1145/2020976.2021002
http://doi.acm.org/10.1145/2020976.2021002
API design for C++ is written by Martin Reddy, and published by
Morgan Kaufmann © 2011 Elsevier, Inc., paperback, ISBN 978-0-
12-385003-4, 441 pp., $43.36 at Amazon.com.
This book covers API design in depth, with a keen focus on
fundamental quality concerns. I highly recommend the text to
both beginners and seasoned API designers as a reference and
guide. The target audience is broad: practicing software engineers
and architects, technical managers, students and educators. This
text could be useful for the beginning programmer, but I would not
recommend it as a first study on coding. The writing style has an
easygoing, logical flow and is clearly understandable. Even
though the code samples are C/C++ and the book specifically
covers C++ APIs, applying the key concepts presented will
improve the design of any API no matter what programming
language is used.
The book website provides code samples that are built using
CMake and can be run on Windows, Mac OS X and UNIX
systems. I was able to use CMake to build the code samples into
MS Visual Studio 2010 projects without any problem. The coding
examples are useful and intuitive.
The first four chapters deal with creating good API design.
Chapter 5 presents an interesting analysis of the design,
advantages, and disadvantages of four styles of API. These
include Flat C with no objects or inheritance, Object Oriented C++
utilizing concepts of inheritance, encapsulation and polymorphism,
Template-based generic APIs that will be instantiated later with
concrete types, and a Data-driven type API. Following chapters
cover C++ usage specifics, performance concerns, performance
analysis, and how to put in place a comprehensive versioning
system. Chapters 9 and 10 describe the very important quality
concerns of providing excellent supporting documentation and
complete testing of your API, including automated testing. The
author helpfully provides links to open source documentation tools
and outlines the key documentation that should be provided to
make use of your API easy to implement, understand and learn
more about. Every aspect of testing, including test-driven
development and automated testing are discussed in enough detail
to enable the reader to incorporate these into their own APIs.
Advanced topics of script binding and API extensibility via
plugins, inheritance, or templates are covered in the remaining two
chapters. The Appendix provides a complete education about
software libraries – static and dynamic on Windows, Linux and
MAC OS X.
I found this to be an exceptional textbook, one I will keep in my
reference library. I am now prepared to produce my own reusable
C++ API. Searching Amazon turned up very few books on API
design, and those are mostly over five years old. There is one
JAVA API book available, published in 2008. Martin Reddy’s
book covers much more in the area of incorporating current quality
control methods simultaneously with coding development
activities than the Java book does. Be sure to check API design for
C++ for your next API Project.
Reviewed by Leslie Glaves, Lockheed Martin IS&GS,
[email protected]
.
You might also like
Authorizations in S4 HANA and Fiori
PDF
No ratings yet
Authorizations in S4 HANA and Fiori
629 pages
RESTful API Design - Best Practices in API Design with REST: API-University Series, #3
From Everand
RESTful API Design - Best Practices in API Design with REST: API-University Series, #3
Matthias Biehl
5/5 (4)
Project Report Final
PDF
0% (3)
Project Report Final
9 pages
Practical C++ Backend Programming
From Everand
Practical C++ Backend Programming
Justin Barbara
No ratings yet
HCIA Cloud Computing V4.0 Lab Guide PDF
PDF
No ratings yet
HCIA Cloud Computing V4.0 Lab Guide PDF
133 pages
C++ OOP Made Simple: A Practical Guide with Examples
From Everand
C++ OOP Made Simple: A Practical Guide with Examples
William E. Clark
No ratings yet
What Is Application Programming Interfaces
PDF
No ratings yet
What Is Application Programming Interfaces
8 pages
Java Functional Programming Made Simple: A Practical Guide with Examples
From Everand
Java Functional Programming Made Simple: A Practical Guide with Examples
William E. Clark
No ratings yet
C# Debugging from Scratch: A Practical Guide with Examples
From Everand
C# Debugging from Scratch: A Practical Guide with Examples
William E. Clark
No ratings yet
C++ Automation Basics: A Practical Guide with Examples
From Everand
C++ Automation Basics: A Practical Guide with Examples
William E. Clark
No ratings yet
C++ Functional Programming for Starters: A Practical Guide with Examples
From Everand
C++ Functional Programming for Starters: A Practical Guide with Examples
William E. Clark
No ratings yet
Practical C++ Backend Programming: Crafting Databases, APIs, and Web Servers for High-Performance Backend
From Everand
Practical C++ Backend Programming: Crafting Databases, APIs, and Web Servers for High-Performance Backend
Justin Barbara
No ratings yet
Efficient API Client Generation with AutoRest: Definitive Reference for Developers and Engineers
From Everand
Efficient API Client Generation with AutoRest: Definitive Reference for Developers and Engineers
Richard Johnson
No ratings yet
C# Functional Programming Made Easy: A Practical Guide with Examples
From Everand
C# Functional Programming Made Easy: A Practical Guide with Examples
William E. Clark
No ratings yet
Comp Kavya
PDF
No ratings yet
Comp Kavya
40 pages
C Super Market Billing System
PDF
0% (1)
C Super Market Billing System
21 pages
1 2. Description 2 3. Benefits 4 4. Sample Applications 7 5. Conclusion 10 6. References 11
PDF
No ratings yet
1 2. Description 2 3. Benefits 4 4. Sample Applications 7 5. Conclusion 10 6. References 11
12 pages
C++ Basics for New Programmers: A Practical Guide with Examples
From Everand
C++ Basics for New Programmers: A Practical Guide with Examples
William E. Clark
No ratings yet
Online Billing System
PDF
No ratings yet
Online Billing System
38 pages
Spring 2.5 Aspect Oriented Programming
From Everand
Spring 2.5 Aspect Oriented Programming
Massimiliano Dessì
No ratings yet
Redoc API Documentation in Practice: Definitive Reference for Developers and Engineers
From Everand
Redoc API Documentation in Practice: Definitive Reference for Developers and Engineers
Richard Johnson
No ratings yet
Introduction To C++
PDF
No ratings yet
Introduction To C++
143 pages
C# Essentials for New Coders: A Practical Guide with Examples
From Everand
C# Essentials for New Coders: A Practical Guide with Examples
William E. Clark
No ratings yet
C# Algorithms for New Programmers: A Practical Guide with Examples
From Everand
C# Algorithms for New Programmers: A Practical Guide with Examples
William E. Clark
No ratings yet
C# OOP Step by Step: A Practical Guide with Examples
From Everand
C# OOP Step by Step: A Practical Guide with Examples
William E. Clark
No ratings yet
High Performance Enterprise Apps using C# 10 and .NET 6: Hands-on Production-ready Clean Codes, Pattern Matching, Benchmarking, Responsive UI and Performance Tuning Tools (English Edition)
From Everand
High Performance Enterprise Apps using C# 10 and .NET 6: Hands-on Production-ready Clean Codes, Pattern Matching, Benchmarking, Responsive UI and Performance Tuning Tools (English Edition)
Ockert J. du Preez
No ratings yet
5
PDF
No ratings yet
5
4 pages
C++ Super Market Billing System
PDF
68% (114)
C++ Super Market Billing System
42 pages
C.S. Report 2015 Editted One
PDF
No ratings yet
C.S. Report 2015 Editted One
52 pages
C++ Algorithms for Beginners: A Practical Guide with Examples
From Everand
C++ Algorithms for Beginners: A Practical Guide with Examples
William E. Clark
No ratings yet
Software Engineering 20APC0519 Min
PDF
No ratings yet
Software Engineering 20APC0519 Min
281 pages
Api Design 2 Principles
PDF
No ratings yet
Api Design 2 Principles
47 pages
Core Java Some Important Points To Remember
PDF
80% (5)
Core Java Some Important Points To Remember
26 pages
Rails 4 For Startups Using Mobile And Single Page Applications
From Everand
Rails 4 For Startups Using Mobile And Single Page Applications
Anthony O'Leary
No ratings yet
8-Abstraction, Design Issues and Structures of OS-27!04!2023
PDF
No ratings yet
8-Abstraction, Design Issues and Structures of OS-27!04!2023
51 pages
Mastering the Art of C# Programming: Unraveling the Secrets of Expert-Level Programming
From Everand
Mastering the Art of C# Programming: Unraveling the Secrets of Expert-Level Programming
Steve Jones
No ratings yet
Cross-Platform Modern Apps with VS Code: Combine the power of EF Core, ASP.NET Core and Xamarin.Forms to build multi-platform applications on Visual Studio Code
From Everand
Cross-Platform Modern Apps with VS Code: Combine the power of EF Core, ASP.NET Core and Xamarin.Forms to build multi-platform applications on Visual Studio Code
Ockert J. du Preez
No ratings yet
GraphQL APIs with TypeScript: Efficient Back-end Development
From Everand
GraphQL APIs with TypeScript: Efficient Back-end Development
Baldurs L.
No ratings yet
Questions and Answers On Software Engineering CIT 745: SUNDAY, 4 MAY 2014
PDF
No ratings yet
Questions and Answers On Software Engineering CIT 745: SUNDAY, 4 MAY 2014
5 pages
The C++ Standard: Guidelines for Modern C++ Programming
From Everand
The C++ Standard: Guidelines for Modern C++ Programming
Pasquale De Marco
No ratings yet
6 Tools For API Design, Development and Testing
PDF
No ratings yet
6 Tools For API Design, Development and Testing
15 pages
Architecting ASP.NET Core Applications: An atypical design patterns guide for .NET 8, C# 12, and beyond
From Everand
Architecting ASP.NET Core Applications: An atypical design patterns guide for .NET 8, C# 12, and beyond
Carl-Hugo Marcotte
No ratings yet
JavaScript Functional Programming Made Simple: A Practical Guide with Examples
From Everand
JavaScript Functional Programming Made Simple: A Practical Guide with Examples
William E. Clark
No ratings yet
C Programming: Core Concepts and Techniques
From Everand
C Programming: Core Concepts and Techniques
William Smith
No ratings yet
Gerdelan Anton - Professional Programming Tools for C and C++ (2020)
PDF
No ratings yet
Gerdelan Anton - Professional Programming Tools for C and C++ (2020)
152 pages
C# Functional: Monads from Zero to Hero
From Everand
C# Functional: Monads from Zero to Hero
Carlos Bueno
No ratings yet
Designing Scalable APIs with AppSync: Definitive Reference for Developers and Engineers
From Everand
Designing Scalable APIs with AppSync: Definitive Reference for Developers and Engineers
Richard Johnson
No ratings yet
Implementing C# 11 and .NET 7.0: Learn how to build cross-platform apps with .NET Core (English Edition)
From Everand
Implementing C# 11 and .NET 7.0: Learn how to build cross-platform apps with .NET Core (English Edition)
Fiodar Sazanavets
No ratings yet
List of All Famous Software Written in C
PDF
No ratings yet
List of All Famous Software Written in C
7 pages
Resume William Gilreath
PDF
No ratings yet
Resume William Gilreath
2 pages
LESSON 1 and 2 C
PDF
No ratings yet
LESSON 1 and 2 C
8 pages
Objective-C Language Reference and Techniques: Definitive Reference for Developers and Engineers
From Everand
Objective-C Language Reference and Techniques: Definitive Reference for Developers and Engineers
Richard Johnson
No ratings yet
Sse 213
PDF
No ratings yet
Sse 213
16 pages
AWS DevOps Engineer Professional Certification Guide: Hands-on guide to understand, analyze, and solve 150 scenario-based questions (English Edition)
From Everand
AWS DevOps Engineer Professional Certification Guide: Hands-on guide to understand, analyze, and solve 150 scenario-based questions (English Edition)
Sumit Kapoor
No ratings yet
Mastering the Craft of C++ Programming: Unraveling the Secrets of Expert-Level Programming
From Everand
Mastering the Craft of C++ Programming: Unraveling the Secrets of Expert-Level Programming
Steve Jones
No ratings yet
Full Download Patterns For API Design Simplifying Integration With Loosely Coupled Message Exchanges 1st Edition Olaf Zimmermann PDF
PDF
100% (11)
Full Download Patterns For API Design Simplifying Integration With Loosely Coupled Message Exchanges 1st Edition Olaf Zimmermann PDF
62 pages
Efficient Development with RubyMine: Definitive Reference for Developers and Engineers
From Everand
Efficient Development with RubyMine: Definitive Reference for Developers and Engineers
Richard Johnson
No ratings yet
Case Study
PDF
No ratings yet
Case Study
33 pages
Java 2 Enterprise Edition (J2EE)
PDF
No ratings yet
Java 2 Enterprise Edition (J2EE)
126 pages
The Little Manual of API Design Jasmin Blanchette Trolltech
PDF
100% (1)
The Little Manual of API Design Jasmin Blanchette Trolltech
33 pages
C# Fundamentals Made Simple: A Practical Guide with Examples
From Everand
C# Fundamentals Made Simple: A Practical Guide with Examples
William E. Clark
No ratings yet
(eBook PDF) Murach's C++ Programming by Joel Murach all chapter instant download
PDF
100% (15)
(eBook PDF) Murach's C++ Programming by Joel Murach all chapter instant download
55 pages
Interpreting Seam Data
PDF
No ratings yet
Interpreting Seam Data
26 pages
Q Learning
PDF
No ratings yet
Q Learning
9 pages
Adobe Media Encoder Log
PDF
No ratings yet
Adobe Media Encoder Log
1 page
Fast Picture Viewer Cheat Sheet
PDF
No ratings yet
Fast Picture Viewer Cheat Sheet
1 page
(James A. O'Brien) 10th Ed, Management Information System (048-053) PDF
PDF
No ratings yet
(James A. O'Brien) 10th Ed, Management Information System (048-053) PDF
6 pages
10 File Class
PDF
No ratings yet
10 File Class
46 pages
First Year Latin 01 Dani Goog
PDF
No ratings yet
First Year Latin 01 Dani Goog
339 pages
Dev C++ Tutorial
PDF
No ratings yet
Dev C++ Tutorial
2 pages
Devops Roadmap
PDF
No ratings yet
Devops Roadmap
2 pages
Canon-ProStream_3000
PDF
No ratings yet
Canon-ProStream_3000
1 page
Avaya CMS Custom Reports
PDF
No ratings yet
Avaya CMS Custom Reports
196 pages
Report on Project
PDF
No ratings yet
Report on Project
37 pages
Source Code
PDF
No ratings yet
Source Code
7 pages
Atari PC3 Owners Manual
PDF
No ratings yet
Atari PC3 Owners Manual
122 pages
Real Time Operation of Iec 61850 Based Digital Substationinternational Journal of Engineering and Advanced Technology
PDF
No ratings yet
Real Time Operation of Iec 61850 Based Digital Substationinternational Journal of Engineering and Advanced Technology
6 pages
Hik ProConnect Brochure
PDF
No ratings yet
Hik ProConnect Brochure
7 pages
RoboDK Doc EN Basic Guide
PDF
No ratings yet
RoboDK Doc EN Basic Guide
11 pages
Employee Central 20
PDF
No ratings yet
Employee Central 20
9 pages
Module 5 Cyber LiteracyDigital Literacy GROUP 4
PDF
No ratings yet
Module 5 Cyber LiteracyDigital Literacy GROUP 4
10 pages
Fruit ML
PDF
No ratings yet
Fruit ML
12 pages
Spe 191598
PDF
No ratings yet
Spe 191598
14 pages
Aplikasi Sensor Cahaya Bh1750 Sebagai Sistem Pendeteksi Longsor Berbasis Pergeseran Tanah
PDF
No ratings yet
Aplikasi Sensor Cahaya Bh1750 Sebagai Sistem Pendeteksi Longsor Berbasis Pergeseran Tanah
8 pages
mursheed prototype
PDF
No ratings yet
mursheed prototype
91 pages
SAP PR Creation Procedure
PDF
No ratings yet
SAP PR Creation Procedure
3 pages
Is A Literature Review Double Spaced
PDF
100% (1)
Is A Literature Review Double Spaced
7 pages
E-Mail Spam Classification Via Machine Learning and Natural Language Processing
PDF
No ratings yet
E-Mail Spam Classification Via Machine Learning and Natural Language Processing
7 pages
RO Quoter presentasi
PDF
No ratings yet
RO Quoter presentasi
13 pages
Lab 6
PDF
No ratings yet
Lab 6
7 pages