OOP & Design Patterns - Open/Closed Principle - Open for Extension, Closed for Modification
In a plugin-based architecture, you want to allow third-party developers to add new features without modifying the core system. Which approach best balances strict Open/Closed Principle adherence with practical extensibility?
