Sponsors and Partners -...
Transcript of Sponsors and Partners -...
![Page 1: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/1.jpg)
Sponsors and Partners
Silver Sponsors
Strategic Sponsors
Gold Sponsors
![Page 2: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/2.jpg)
CQRS for everyone
Maciej Aniserowicz
![Page 3: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/3.jpg)
net.developerdays.pl@DeveloperDaysPL
Agenda• CQRS = Command Query Responsibility Segregation
• read-side• demo
• write-side• demo
![Page 4: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/4.jpg)
net.developerdays.pl@DeveloperDaysPL
Anti-agenda(because: „for everyone")
• Event Sourcing
• Message Queues
• Multiple data stores
• NoSQL
• DDD
![Page 5: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/5.jpg)
net.developerdays.pl@DeveloperDaysPL
Command QueryResponsibility Segregation
![Page 6: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/6.jpg)
![Page 7: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/7.jpg)
![Page 8: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/8.jpg)
![Page 9: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/9.jpg)
net.developerdays.pl@DeveloperDaysPL
READ – problems• queries on „domain” model
• complicated SQL generated by ORM
• repository pattern
![Page 10: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/10.jpg)
![Page 11: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/11.jpg)
net.developerdays.pl@DeveloperDaysPL
READ - demo
![Page 12: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/12.jpg)
![Page 13: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/13.jpg)
![Page 14: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/14.jpg)
net.developerdays.pl@DeveloperDaysPL
WRITE – problems• „fat” controllers
• system API all over the place
• maaaany dependencies
• hard to test
![Page 15: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/15.jpg)
net.developerdays.pl@DeveloperDaysPL
WRITE - demo
![Page 16: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/16.jpg)
![Page 17: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/17.jpg)
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
• ...
![Page 18: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/18.jpg)
net.developerdays.pl@DeveloperDaysPL
When NOT to apply?
![Page 19: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/19.jpg)
net.developerdays.pl@DeveloperDaysPL
Recap• read
• as simple as possible
• write• focus on what is really IMPORTANT
![Page 20: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/20.jpg)
![Page 21: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/21.jpg)
net.developerdays.pl@DeveloperDaysPL
THX! and...http://bit.ly/ma-181116
discount: netdd (-35%)
![Page 22: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/22.jpg)
net.developerdays.pl@DeveloperDaysPL
Questions...?
![Page 23: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/23.jpg)
net.developerdays.pl@DeveloperDaysPL
![Page 24: Sponsors and Partners - 2016.net.developerdays.pl2016.net.developerdays.pl/wp-content/2016_mat_conf/maniserowicz … · •CQRS = Command Query Responsibility Segregation •read-side](https://reader033.fdocuments.net/reader033/viewer/2022053015/5f1656be89c56e2c29038c79/html5/thumbnails/24.jpg)
Sponsors and Partners
Silver Sponsors
Strategic Sponsors
Gold Sponsors