What is a plugin system ? (ie extension system)

Card Puncher Data Processing


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:

It's what characterized a famework (versus a library)


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:

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.

Discover More
Card Puncher Data Processing
Idea Plugin Dev - Extension Points

Extension Point in IDEA
Java Conceptuel Diagram
Java - (Extension (Point)|Service|Extensible Application)

extension mechanism in java An extension Jar may be placed: in the classpath into an extension directory (such as jre/lib/ext). How...
Card Puncher Data Processing
What is a framework ?

A framework is an application that permits to build another application: * that has extension point to run your code * generally declaratively with strong convention (you need to create files in a...
Library Vs Framework
What is the difference between a Library (and | vs) a Framework ?

This page explains you the difference between: * a library * and a framework Basically, you need to look at the inversion of control principle: * your code invoke the library (the library plug...

Share this page:
Follow us:
Task Runner