Shawn McCool

A Talk About Naming Things Talk

given at DPC 2015's uncon track

This is a talk that Mitchell van Wijngaarden and I hastily created for the Dutch PHP Conference 2015 uncon track.

It's a talk about some gripes that we have with the way that much of our culture approaches naming and organizing things.

Please feel free to post any comments below.

Read Mathias . . .

Read More

June 28, 2015

Designing a Model Architecture Talk

Given at SOLIDay 2015

I was happy to be invited to speak in Serbia at the SOLIDay 2015 conference. I decided to deliver a talk that was a modification of some talks I've given previously. I am still quite partial to the ideas in this talk and I was happy to have a chance to tweak the talk a bit here and there.

The talk is about designing multilayered . . .

Read More

June 28, 2015

Dev Discussions Podcast

I've created a podcast called Dev Discussions in which I have casual conversations with other developers about topics related to development.

Some of our topics include Test-Driven Development, the Command Bus, Event Sourcing, and Functional Programming.

Check it out, I hope that you like it.

The Dev Discussions . . .

Read More

April 02, 2015

BDD / DDD Discussion

with concrete examples

I was invited by Adam Wathan to discuss BDD / DDD on his podcast Full Stack Radio. I think that he did a tremendous job producing the show and I enjoyed discussing how I perceive both BDD and DDD as well as having the opportunity to share concrete examples of optimizing for business value.

Listen here on Full Stack Radio

Read More

January 19, 2015

The Repository Pattern

Basics and clarification

"Repository commonly refers to a storage location, often for safety or preservation." - Wikipedia

This is how Wikipedia describes a repository. It just so happens that unlike some other jargon that we deal with, this fits perfectly. A repository represents the concept of a storage collection for a specific type of entity.

. . .

Read More

January 08, 2015

Command Bus

An overview of implementation, advantages, and challenges.

There has been a lot of talk about the concept of the command bus lately and I discovered that Laravel 5 is likely to ship with a command bus implementation. So, I want to take a moment and discuss this topic as I've been using it well over a year now in many projects both green and brown.

At the bottom of this post there are a . . .

Read More

December 26, 2014

Domain-Driven Design

How to get started

This article has most recently been modified August 16th, 2017 to add the following foreword.

Foreword: What is Domain-Driven Design?

Domain-Driven Design, or DDD, is an envelope that encapsulates software design theory and technique as well as theory and technique for communication. The focus of the DDD brand is to increase . . .

Read More

July 20, 2014