Great explanation, very concise and to the point.

Even if you are just implementing a MVP, I always recommend at least the Single Database CQRS. It makes life much easier being able to apply transversal behaviour to commands or queries, like transactions or caching, even if you don’t implement the domain layer and access the database directly from the handlers.

Recently I made an article about the mediator pattern for C# to help implement this: https://medium.com/swlh/mediator-pattern-in-asp-net-core-applications-109b4231c0f8

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store