liveBook · Manning

Extensibility

Extensibility is the capacity of a software system to accommodate additional capabilities or behaviors with limited changes to its existing structure.

How 7 Manning books explain it

The Design of Web APIs, Second Edition

The capacity of an API to accommodate future capabilities or changes without requiring disruptive redesign.

How it is used
Guides API design and evolution when new capabilities, feedback, or contextual constraints may otherwise force disruptive changes.
How deep it goes
Explains extensibility through concrete representation patterns, compatibility assessment, versioning policy, and modification documentation.
Examples
Uses account pagination, transfer representations, ISO 8601 durations, grouped events, and the category-to-categories breaking-change scenario.
What you can do after
Apply extensible API patterns, evaluate modification effects, and document versioned changes for consumers.

Read how The Design of Web APIs, Second Edition explains extensibility →

Practices of the Python Pro

The property of a software system that permits new functionality to be added without fundamentally modifying its existing structure.

How it is used
Guides developers toward adding features to existing applications without disrupting established behavior.
How deep it goes
Defines the property, contrasts isolated additions with shotgun surgery, and demonstrates function-and-configuration extension.
Examples
Uses browser plugins, Bark feature additions, and response-format functions selected through configuration mappings.
What you can do after
Build extensible Python features by isolating behavior and adding implementations plus configuration rather than scattered conditionals.

Read how Practices of the Python Pro explains extensibility →

Effective Platform Engineering

Extensibility is the ability of a system to accept additional capabilities or behaviors without modifying its core implementation.

How it is used
Positions extensibility as a platform capability for adding cloud-native behaviors through standardized APIs.
How deep it goes
Explains extensibility through APIs, orchestration standardization, sidecars, pipelines, and integration patterns rather than detailed implementation mechanics.
Examples
Uses Kubernetes orchestration, a vault-refreshing pod sidecar, lifecycle pipelines, and adapter patterns as concrete extension forms.
What you can do after
Apply it via platform APIs, sidecars, lifecycle pipelines, adapters, and event-driven integrations.

Read how Effective Platform Engineering explains extensibility →

Functional Design and Architecture: Examples in Haskell

Extensibility is the ease with which a software system can accommodate new capabilities, types, or variations.

How it is used
Uses extensibility to shape typed key–value persistence and to frame maintainability as a software-quality requirement.
How deep it goes
Defines data and behavior extensibility, contrasts object-oriented and functional approaches, and names type-level mechanisms without developing their internals.
Examples
Uses typed key–value persistence for Meteor and Comet records, with raw storage representations converted into domain values.
What you can do after
Evaluate how typed designs accommodate new data types and methods while preserving business-logic safety.

Read how Functional Design and Architecture: Examples in Haskell explains extensibility →

Just Use Postgres!

Extensibility is the capability of a database system to add or customize data types, operators, access methods, and other functionality.

How it is used
Uses extensions to adapt Postgres for specialized workloads and capabilities beyond the core database engine.
How deep it goes
Explains design rationale and integration mechanisms, but stops short of showing extension-specific installation or implementation commands.
Examples
Demonstrates JSON, time-series, full-text, vector similarity, administrative, and development extensions as workload examples.
What you can do after
Evaluate/understand how Postgres extensions add capabilities, intercept database behavior, and support specialized workloads.

Read how Just Use Postgres! explains extensibility →

Data-Oriented Programming: Reduce software complexity

Extensibility is the capacity of software to accommodate new functionality with minimal changes to existing code.

How it is used
Frames extensibility as the main practical benefit of polymorphism when adding new animal behavior.
How deep it goes
Contrasts switches, separate functions, classes, and multimethods, but stops short of explaining multimethod implementation.
Examples
Uses dog, cat, and cow greetings implemented through classes, maps, switches, and separate functions.
What you can do after
Evaluate whether a design lets new animal types extend behavior without modifying existing dispatch code.

Read how Data-Oriented Programming: Reduce software complexity explains extensibility →

Software Testing with Generative AI

The capacity of a system to be expanded with additional capabilities or adapted to new requirements.

How it is used
Evaluates LLM platforms by how well they integrate with systems and adapt to specific requirements.
How deep it goes
Distinguishes API access, instruction adjustment, further training, and deployment infrastructure without detailing implementation.
Examples
Contrasts OpenAI’s paid API and instruction feature with Meta’s downloadable, further-trainable Llama models.
What you can do after
Evaluate LLM platforms by matching integration, adaptation, and deployment options to the intended use.

Read how Software Testing with Generative AI explains extensibility →

Related concepts

These guides are generated from the text of Manning books by Manning's knowledge graph and link to the sections they draw on. The full books are available on liveBook and at manning.com.