2. The typical CRUD architecture
http://en.wikipedia.org/wiki/Multitier_architecture
3. Command and Query Soup
• MVC application: POST includes a command (intent to act) and
returns a view based on a query.
• That doesn’t mean commands can’t have replies.
Replies are in the form of “sure, I’ll do that” or “no problem, done”
4. Command Query Separation (CQS)
• Queries: Return a result and do not change the observable state of
the system (are free of side effects).
• Commands: Change the state of a system but do not return a value.
Bertrand Meyer
5.
6.
7.
8. More buzz words
• Domain Driven Design
• Event/Message Based design
• Distributed Applications
• EventSourcing
• Test Driven Development
9. Different kinds of ‘RS’
• EventSourcing + Reporting DB
• Different ViewModels for read and create/update (client level)
• Different databases or tables/views for read or write (DB level)
• …