|
SynopsisApplication Programming Interface (API) design is the practice of creating software components that are easy to reuse and are evolved with minimal impact on clients. If you are a C++ programmer writing code that is consumed by other developers, you need to master the principles of API design. A good design can be your project’s most important feature, but conversely a bad design can contribute to the instability, decay, and eventual demise of your software. Despite this, the techniques of API design are rarely taught to engineers. These skills are normally only gained through experience—by making mistakes and learning empirically what does and does not work. This book aims to address this deficiency: to distill the strategies of world-class C++ API development. Interfaces are the most important code you develop. This book will teach you how to write elegant and industrial-strength APIs that will last for the long term. The book covers lots of object-oriented design material and many handy C++ tips and tricks to help you produce better APIs. It also covers the full breadth of API development, from initial design through implementation, testing, documentation, release, versioning, maintenance, and deprecation. It even covers specialized API topics such as creating scripting and plugin APIs. If you write C++ code that another engineer relies upon, you’re an API designer and this book has been written for you.
|