Custom Data for a Plugin System
This exercise is inspired by a real-world scenario encountered by one of Ferrous Systems' customers.
Imagine that we are building the next version of the best code editor out there, and for it we want to introduce a system of plugins that require configuration. Some configuration options are common: every plugin has a name
, for example. Other settings can be absolutely unique.
We want to design a type that would allow us to store arbitrary custom data. It should play nicely with the rest of our code base. We want to be able to:
Debug
-print our plugin configuration- compare different configs