sponsors and partners -...
TRANSCRIPT
Sponsors and Partners
Silver Sponsors
Strategic Sponsors
Gold Sponsors
CQRS for everyone
Maciej Aniserowicz
net.developerdays.pl@DeveloperDaysPL
Agenda• CQRS = Command Query Responsibility Segregation
• read-side• demo
• write-side• demo
net.developerdays.pl@DeveloperDaysPL
Anti-agenda(because: „for everyone")
• Event Sourcing
• Message Queues
• Multiple data stores
• NoSQL
• DDD
net.developerdays.pl@DeveloperDaysPL
Command QueryResponsibility Segregation
net.developerdays.pl@DeveloperDaysPL
READ – problems• queries on „domain” model
• complicated SQL generated by ORM
• repository pattern
net.developerdays.pl@DeveloperDaysPL
READ - demo
net.developerdays.pl@DeveloperDaysPL
WRITE – problems• „fat” controllers
• system API all over the place
• maaaany dependencies
• hard to test
net.developerdays.pl@DeveloperDaysPL
WRITE - demo
net.developerdays.pl@DeveloperDaysPL
Examples (Dialer app)• Callbacks – in Dialer application
• schedulle a "callback" in X minutes when person phone is busy
• WhenPhoneBusy_ScheduleCallback
• CallbackSelector : ISelectNextPersonToDialStrategy
• another event: "callback scheduled"
• "Agent ranking"• who sold the most? - handle OrderTaken event
• who talked to most customers? - handle PhoneAnswered event
• ...
net.developerdays.pl@DeveloperDaysPL
When NOT to apply?
net.developerdays.pl@DeveloperDaysPL
Recap• read
• as simple as possible
• write• focus on what is really IMPORTANT
net.developerdays.pl@DeveloperDaysPL
THX! and...http://bit.ly/ma-181116
discount: netdd (-35%)
net.developerdays.pl@DeveloperDaysPL
Questions...?
net.developerdays.pl@DeveloperDaysPL
Sponsors and Partners
Silver Sponsors
Strategic Sponsors
Gold Sponsors