More so than any of my other talks, I’ve receive a huge number of requests for a video of “Models & Service Layers; Hemoglobin & Hogoblins”. At last, the original version from #phpnw13 is now online, many thanks to the awesome crew:

This version is a bit older and doesn’t have some new content found in the latest slide deck but the main points are there. Two remarks: The audio is a bit muffled so you may need to crank it up, also the in-video slides don’t have the “appear” animations (my fault for not making a screen recording) so the crowd reaction may not sync with the slides. ;)

Also, I’d like to clarify something based on some feedback from the last few months. I’m not advocating CQRS as the end goal architecture here, nor would I recommend it for general purpose projects. Like any pattern, it has a sweet spot for when and where to use it. This talk is an overview, I simply wanted to demonstrate a number of different techniques you can use when modeling. You can essentially get off the train at any stop during this talk and that’s okay. If you’re hellbent on trying something new from this talk, I would suggest Domain Events.

That said, CQRS and Event Sourcing are really cool and if you do have a project that suits it (see Fowler and SO), by all means, use it! And then blog about it.

Precision Through Imprecision: Improving Time Objects

When creating value objects representing time, I recommend choosing how finegrained the time should be with your domain experts and round it off to that precision in the value object. Continue reading

Formatting Exception Messages

Published on October 27, 2015

How I Use Traits

Published on May 18, 2015