Software Engineering ยท Design
New functionality can be added without rewriting or breaking the code that already works.
Mental model: Like a phone case with a swappable magnetic back vs. one permanently glued on.
Example: A payment system that supports a new provider by implementing one interface, without touching existing checkout code.
In practice: Plugin systems, hooks, and well-defined extension points are the concrete mechanisms that make a system extensible instead of just hoping future features will fit.