Skip to main content


Showing posts from May 23, 2020

Plugin Architechture

If you have used IDE like Ecllipse you may have noticed that you can extend the functionality by adding plugins. Eclipse is an extensible platform. We can add new tools using pluggable components called Eclipse plug-ins. We can create our own plugin by using Eclipse plug-in model. When we develop softwares we also want to create our applications extensible and modular. We can use plugin architecture to fulfill our needs. What is a Plug-in? A plug-in (or plugin, add-in, addin, add-on, or addon) is a software component that adds a specific feature to an existing computer program. (Wikipedia) In plugin architecture, core modules may not know all existing features, instead we plug them at loading time. We are taking advantage of separation of concerns. Plugins is a fine example of open closed principle where we are extending existing functionality without changing main logic. Advantages Extensible - plugin can be developed outside the main program and extend the behaviour without touching