Using event dispatchers and command buses in applications is becoming common place, but are we using them in a way that aids understanding? With the rise in popularity of Domain-Driven Design to drive meaning in applications, and our applications becoming increasingly small and "hexagonal", the concept of defining the difference between an Event and a Command is becoming more important.

This talk explores using command buses and event dispatchers in combination to clearly segregate the structure, and uses an example of how to use these to create clean CQRS-based applications.

Comments

Comments are closed.

Paul Marks at 20:09 on 10 Jan 2018

Really enjoyed the talk, lots of good stuff! Would love to look at the examples in the slides with the video to let it sink in.

The talk was really good, gave a really good insight into events and handling. I would have liked to see a little more introduction on what the talk was about and maybe a little less code displayed on screen (maybe take the comments out), the screen looked a bit busy. Would it be possible to see the code on a GitHub repo so that I can take a closer look?

Rob Wilson at 20:17 on 10 Jan 2018

Excellent talk, came across well. Only negative(s) is that it was too short (time is against us all), and I would have liked to have seen some working examples (again time constraints). Looking forward to further talks.

Really good talk, but for people with no knowledge on CQRS it might be a good idea to delve a little more into responders so people can mentally compare the usual Request-Response pattern that they're used to easier :)

Lucia Velasco at 20:18 on 10 Jan 2018

This was a really enjoyable talk. I loved all the jokes and the audience interaction. I would have preferred smaller examples because I wasn't always sure where to look for the key point (eg methods not whole classes) and longer on the definition and diagram slides. It was really interesting learning about how WorldFirst does stuff, I'd be interested in a talk on that stuff in the future, too. Great stage presence, good topic, thank you!

Jan at 20:37 on 10 Jan 2018

I enjoyed the talk for its consistency, right speed and for its clear definitions/glossary used.

Very informative, good information presented in a friendly manner. Good coding examples.

I really enjoyed the presentation and thought Barney came across very well and naturally, which isn't always the case in tech presentations. As someone completely new to the topic I was very interested and tried to be engaged, but it wasn't clear to me if we were having 3 different ideas put to us, or if it was a sequence of ideas building on the last. Having never seen the Command pattern or Command Bus before I could have used a really solid analogy or illustration of the parts. Definitely plenty to go off and read further though!

Really good talk overall. To improve it I would recommend to:
- lower the number of slides with citations, I feel they break the talk momentum and don't add much
- add a visual diagram of commands, events, handlers and how they interact before diving in, having a (mental) image to back it up helps a lot
- smaller, more focused code blocks (with a bigger font if possible)
- get rid of PHP annotations in code blocks, they take a lot of space and add no value

Dan Ackroyd at 18:43 on 17 Jan 2018

I second Vítor's comment:

"- add a visual diagram of commands, events, handlers and how they interact before diving in, having a (mental) image to back it up helps a lot"

Even for people who've heard of them before, having a diagram that shows how they flow/interact would be useful.