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

  • ICareAboutXYZ: ViewModel wants to be informed about certain events (e.g. ICareAboutNavigationFlow, ICareAboutSuspendResume)
  • IRequireXYZ: ViewModel requires Feature-Controllers (e.g. IRequireNavigationService, IRequireSharingService)
  • ISupportXYZ: ViewModel supports a feature (e.g. ISupportSearchContract, ISupportSharingSourceContract)

Last edited Apr 14, 2013 at 4:03 AM by KevinStumpf, version 1


No comments yet.