![API Design for C++](https://img.perlego.com/book-covers/4458617/9780443222207_300_450.webp)
- 550 pages
- English
- ePUB (mobile friendly)
- Available on iOS & Android
API Design for C++
Martin Reddy
About This Book
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
Frequently asked questions
Information
Table of contents
- Cover image
- Title page
- Table of Contents
- Copyright
- Author biography
- Foreword
- Preface
- Acknowledgments
- 1. Introduction
- 2. Qualities
- 3. Patterns
- 4. Design
- 5. Styles
- 6. C++ usage
- 7. C++ revisions
- 8. Performance
- 9. Concurrency
- 10. Versioning
- 11. Documentation
- 12. Testing
- 13. Objective-C and Swift
- 14. Scripting
- 15. Extensibility
- Appendix A: Libraries
- References
- Index