Log In
Or create an account -> 
Imperial Library
  • Home
  • About
  • News
  • Upload
  • Forum
  • Help
  • Login/SignUp

Index
Cover image Title page Table of Contents Copyright Foreword Preface
Why you should read this book Who is the target audience Focusing on C++ Conventions Book web site
Acknowledgments Author Biography Chapter 1. Introduction
1.1 What are Application Programming Interfaces? 1.2 What’s Different About API Design? 1.3 Why Should you Use APIs? 1.4 When Should you Avoid APIs? 1.5 API Examples 1.6 File Formats and Network Protocols 1.7 About this Book
Chapter 2. Qualities
2.1 Model the Problem Domain 2.2 Hide Implementation Details 2.3 Minimally Complete 2.4 Easy to Use 2.5 Loosely Coupled 2.6 Stable, documented, and tested
Chapter 3. Patterns
3.1 Pimpl Idiom 3.2 Singleton 3.3 Factory Methods 3.4 API Wrapping Patterns 3.5 Observer Pattern
Chapter 4. Design
4.1 A Case for Good Design 4.2 Gathering Functional Requirements 4.3 Creating Use Cases 4.4 Elements of Api Design 4.5 Architecture Design 4.6 Class Design 4.7 Function Design
Chapter 5. Styles
5.1 Flat C APIs 5.2 Object-oriented C++ APIs 5.3 Template-based APIs 5.4 Data-driven APIs
Chapter 6. C++ Usage
6.1 Namespaces 6.2 Constructors and Assignment 6.3 Const Correctness 6.4 Templates 6.5 Operator Overloading 6.6 Function Parameters 6.7 Avoid #define for Constants 6.8 Avoid Using Friends 6.9 Exporting Symbols 6.10 Coding Conventions
Chapter 7. Performance
7.1 Pass Input Arguments by Const Reference 7.2 Minimize #include Dependencies 7.3 Declaring Constants 7.4 Initialization Lists 7.5 Memory Optimization 7.6 Don’t Inline Until You Need To 7.7 Copy on Write 7.8 Iterating Over Elements 7.9 Performance Analysis
Chapter 8. Versioning
8.1 Version Numbers 8.2 Software Branching Strategies 8.3 Life Cycle of an API 8.4 Levels of Compatibility 8.5 How to Maintain Backward Compatibility 8.6 API Reviews
Chapter 9. Documentation
9.1 Reasons to Write Documentation 9.2 Types of Documentation 9.3 Documentation Usability 9.4 Using Doxygen
Chapter 10. Testing
10.1 Reasons to Write Tests 10.2 Types of API Testing 10.3 Writing Good Tests 10.4 Writing Testable Code 10.5 Automated Testing Tools
Chapter 11. Scripting
11.1 Adding Script Bindings 11.2 Script-binding Technologies 11.3 Adding Python Bindings With Boost Python 11.4 Adding Ruby Bindings With Swig
Chapter 12. Extensibility
12.1 Extending Via Plugins 12.2 Extending Via Inheritance 12.3 Extending Via Templates
Appendix A. Libraries
A.1 Static Versus Dynamic Libraries A.2 Libraries on Windows A.3 Libraries on Linux A.4 Libraries on Mac Os X
Bibliography Index
  • ← Prev
  • Back
  • Next →
  • ← Prev
  • Back
  • Next →

Chief Librarian: Las Zenow <zenow@riseup.net>
Fork the source code from gitlab
.

This is a mirror of the Tor onion service:
http://kx5thpx2olielkihfyo4jgjqfb7zx7wxr3sd4xzt26ochei4m6f7tayd.onion