About
An extensible application is one that you can extend without modifying its original code base.
By designing an extensible application, you provide a way to upgrade or enhance specific parts of a product without changing the core code.
See also:
Implementation
An extensible application implements a mechanism of extensions with:
- extension points,
- plug-ins
- or modules
that allow to extend it without modifying its base code.
A extension point declares a contract:
- with the help of XML markup
- or interfaces)
that extensions must conform to.
Plug-ins that want to connect to that extension point must implement that contract in their extension.
By adding a the plugin code implementing this extension points new functionality are added.