diff --git a/The-birth-of-a-python-plugin-architecture.md b/The-birth-of-a-python-plugin-architecture.md index 33341ba..bd380b2 100644 --- a/The-birth-of-a-python-plugin-architecture.md +++ b/The-birth-of-a-python-plugin-architecture.md @@ -1 +1,17 @@ -#The birth of a python plugin architecture \ No newline at end of file +#The birth of a python plugin architecture + +## Q&A +Q. What is the plugin architecture design pattern? + +A. The plugin architecture design pattern (also known as microkernel) is a philosophy that surrounds a core application with a number of attachable/detachable modules. These module can be attached and detached in runtime. + The main benefits are the following. + - A core application that needs little to no updating unless it's updated core functionality. + - Functionality can be kept and maintained in small separate modules (plugins). A plugin can be updated regardless of the core application as long as it maintains the same interface to the core application. + +Q. What is required of a plugin system? + +## Plugin requirements +* Plugin registration (installation) +* Plugin activation (activate the plugin) +* Plugin deactivation (deactivate the plugin) +* Plugin un-registration (un-installation)