Intro to Plugin Oriented Programming
¶
Contents:
POP, What it Seeks to Solve
A Brief History
The World of Today
The Problems of Today
Plugin Oriented Programming
How Does Plugin Oriented Programming Do This?
Origin of POP
Salt’s Plugin System and Plugin Oriented Programming
Adventures in Plugins
Emergence of Plugin Oriented Programming
Define “Pluggable”
Collections of Plugins - Subsystems
The Hub and the Namespace
App Merging
Getting Started
Install and Run
Moving Forward
The Hub
Getting To Know the Hub
The First Subsystem - pop
Plugin Subsystems - Subs
Subs Contain Plugins
Adding Subs to a hub
Recursive Sub Loading
Plugin Loading
The init System
The __init__ Function
Subs Express Patterns
Patterns
Patterns Are Extensible
Collection Pattern
Spine Pattern
Beacon Pattern
Flow Pattern
Router Pattern
Just Examples
Plugins Allow for App Merging!
App Merging - Making Apps Pluggable
Horizontal App Merging
Vertical App Merging
App Merging is Simple
Next Up - Plugins
Plugins
Functions and the Hub
Private Functions
Virtual Names
Func Alias
The Initializer Function
Data on the hub
Instances
Loosely Coupled Design
Reused Functions and Data on the Hub
Plugin Oriented Configuration
Configuration Merging
Configuration Priority
The conf.py Dictionaries
CONFIG Dictionary
CLI_CONFIG
Conclusion
Enforcing Patterns and Interfaces - Contracts
Contract Structure
Contract Signature Enforcement
Contract Function Wrappers
Build and Deploy
Tiamat
Using Tiamat
Using the Build Addon
Using Plugin Oriented Programming
Indices and tables
¶
Index
Module Index
Search Page
Intro to Plugin Oriented Programming
Navigation
Contents:
POP, What it Seeks to Solve
Origin of POP
Define “Pluggable”
Getting Started
The Hub
Plugin Subsystems - Subs
Patterns
App Merging - Making Apps Pluggable
Plugins
Instances
Plugin Oriented Configuration
Enforcing Patterns and Interfaces - Contracts
Build and Deploy
Using Plugin Oriented Programming
Related Topics
Documentation overview
Next:
POP, What it Seeks to Solve
Quick search