CQRS

Command Query Responsibility Separation

We segregate the responsibility between commands (write requests) and queries
(read requests). Where you had just one model to read/write data from/to your system,
you now have two. Each one is optimized for its purpose, reading or writing.