Framework Architecture

When devising the framework’s architecture, the core philosophy was that the framework’s user wouldn’t have to derive from any base class.
Instead, the features are all activated by simply implementing specific interfaces in the ViewModels. The framework analyzes the ViewModel’s implemented interfaces and consequently knows what features the ViewModel asks for.
In addition, the setup and configuration of the framework was supposed to be as easy as possible. Very few lines of code should be enough to hit the ground running.
The final architecture can be depicted as follows:




Interface Naming Schema