Practical use case
Let’s build something that leverages the new form of discovery but, more importantly, shows the concept of an elastic growing system that does not require changes at the core for new features to be added.
Let’s revisit the concept of compliance, which is a very common scenario in software. We looked into GDPR in Chapter 4, Reasoning about Types Using Reflection, and Chapter 5, Leveraging Attributes. GDPR is just one type of compliance with which it is important to deal with.
The goal is to create a system in which the core “engine” does not know about the different types of compliance metadata that can exist and instead provides extensibility points, where developers can just add new compliance metadata types as they’re needed.
We want the engine to be generalized and accessible to everyone. Following the GitHub repository mentioned in Technical requirements, you’ll find that there is a Fundamentals project. All...