The plugin manager is an ASP.Net Core plugin manager which can be used to extend any Core website.
There are both built in extensions and the ability to add custom extensions. Built in extensions allow developers to quickly and easily add:
Custom extensions allow a host application to extend it's own interface, or expose inner workings that plugins can exploit, examples of which are:
Plugin technology is a nutural proponent to the SOLID principles of software development, each plugin has a single purpose and the host can be extended without being directly modified.
With each plugin having a single purpose, developers can focus on individual aspects of the entire project.
Typically a software developer, or a team of developers within a software house will develop multiple solutions for many clients, each of those solutions will have many shared aspects, such as:
By utilising plugin technology in conjunction with the DRY principle, time to live from conception to release can be dramatically reduced. Whether it be adding a "Customer Management" plugin which is shared amongst many websites, to developing a single "Log In" plugin which can also be shared between projects. Once a plugin has been developed and tested it can be deployed simply by being loaded into the host application using the Plugin Manager.
There are many other benefits to using plugin technology within a website, they include:
The Plugin Manager exposes four static methods via the PluginManagerService class
These four methods allow a host application to interact with all plugins.
The following image shows how the plugins relate to the host application.