15: Extensibility
Abstract
Extensibility is an important aspect of application programming interface (API) design because it lets users expand the base functionality without requiring you to support their needs explicitly. Most of this chapter deals with how to create a Plugin API. It is a way for users to extend the functionality of your API in defined ways by creating dynamic libraries that are discovered and loaded at run time. The chapter deals with how to create stable C++ interfaces and cover the entire architecture, including the Plugin API itself, the Plugin Manager, and example plugins. The chapter also covers other ways to extend an API, such as through inheritance, with a specific example of the Visitor design pattern. Extensibility ...
Get API Design for C++, 2nd Edition now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.