Good day.
I am now writing my CMS and the architecture is about the same as in the image (I have my own terminology). Modules communicate with an Application object, sending it requests of type get, set, etc. Application processes these requests and redirects them to the Controller, which is already working with the data store. Coming up with this architecture, I was guided by the substitutability of CMS elements. In particular, I wanted to give the programmer the opportunity to quickly transfer the CMS from files to the database and back and provide an API for creating modules.
Actually, the question is: please evaluate my decision and suggest how you can improve this architecture. And what other options are there?
Controller
?Данными
it allow you to interact with differentДанными
, with differentApplication-ами
or is it an ordinary mediator? - Specter