I'm thinking about applying CQS for my ASP.NET MVC web site, but in a very simple matter. I don't mean CQRS, because I want to use the same data source for query and command parts, and so I don't need event sourcing and other more complex patterns.
So, what I have in mind is:
- use the same database for query and command part
- for the query part, expose database views with entity framework and WCF data services, so that specific views are returned to the client, querying data becomes very easy
- for the command part, expose database tables with entity framework and one-way WCF services, and using DDD principles.
The main thing I want to achieve is:
- simple commands that are executed by one-way service operations, and handled by a rich domain model, client needs to pass only the data that is really needed to perform the command
- flexible querying on simple views, designed for the specific UI of the client
Does this make sense?