ISBN13: | 9780443222191 |
ISBN10: | 0443222193 |
Binding: | Paperback |
No. of pages: | 550 pages |
Size: | 235x191 mm |
Weight: | 450 g |
Language: | English |
700 |
Theory of computing, computing in general
Computer programming in general
Software development
Programming in general
Discrete mathematics
Theory of computing, computing in general (charity campaign)
Computer programming in general (charity campaign)
Software development (charity campaign)
Programming in general (charity campaign)
Discrete mathematics (charity campaign)
API Design for C++
EUR 84.95
Click here to subscribe.
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
"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
2. Qualities Model the Problem Domain Hide Implementation Details Minimally Complete Easy to Use Loosely coupled Stable, Documented, and Tested
3. Patterns Pimpl Idiom Singleton Factory Methods API Wrapping Patterns Observer Pattern
4. Design A Case for Good Design Gathering Functional Requirements Creating Use Cases Elements of API Design Architecture Design Class Design Function Design
5. Styles Flat C APIs Object-Oriented C++ APIs Template-Based APIs Data-Driven APIs
6. C++ Usage Namespaces Constructors and Assignment Const Correctness Templates Operator Overloading Function Parameters Avoid