Category Archives: design

Exceptional and Substitutable

I watched Sean Chambers deliver an excellent talk about S.O.L.I.D. principles last weekend at Tallahassee CodeCamp. It motivated me to look a little deeper into the Liskov Substitution Principle, which states: Functions that use pointers or references to base classes … Continue reading 

Also posted in C#, oo, principles, Ruby, solid | 2 Comments

Return False on the Happy Path

When you call a query method that returns true or false, I highly suggest that you make true results trip conditional logic / guard clauses / etc. I was driving out some code today in an MVC controller that had … Continue reading 

Also posted in BDD, C#, code, oo, TDD | 12 Comments

Designing the Team Room

At VersionOne, we just got the opportunity to move to a new team room. It’s far superior in terms of size, noise level, and natural light. It’s a very cool, very lofty kind of space. To get things started, we … Continue reading 

Also posted in coaching, collaboration, team room, teams | 8 Comments


The next leg of our quest to uncover the deeper driving forces behind SOLID principles brings us to the Open/Closed Principal (OCP). To refresh, I think it’s important that if we’re going to say (read the next part in a … Continue reading 

Also posted in oo, principles, solid | Leave a comment


There was some chatter on twitter today about why SOLID principles are a good idea. When designing object systems we often tote around a lot of acronyms for principles of good design, but why are these things principles? It’s not … Continue reading 

Also posted in oo, solid | 4 Comments

Hook Methods

I’ve written about the template method pattern before. For my money it’s still a very useful pattern for building super lightweight frameworks and enabling the open-closed principle which states: Software entities (classes, modules, functions, etc.) should be open for extension, … Continue reading 

Also posted in .net, C#, code, patterns | 15 Comments

Super Models, Part 1: Sexy Specifications

In Domain-Driven Design we turn to the specification pattern when we want to check whether an object matches some criteria. I think specification is the oft-forgotten bastard child pattern of the domain model pattern language. I know I frequently turn … Continue reading 

Also posted in .net, C#, code, DDD, Domain Model, DSLs, patterns, specification | 12 Comments

Design: Paul Rand & Ubiquitous Language

The Ubiquitous Language is an important concept in Domain-Driven Design. Some time back, I found this video of Paul Rand talking about his views on the essence of design and art. I love it and see an immediate parallel between … Continue reading 

Also posted in architecture, art, DDD, Ubiquitous Language | 1 Comment

The Separated Interface Pattern

I did a quick streaming video today with the Separated Interface design pattern as our topic du jour. I wanted to see if the whiteboard would show up on video and if this was something people thought was valuable. It’s … Continue reading 

Also posted in architecture, Featured, oo, patterns, video | 3 Comments

SetUp and Teardown Methods in Test Classes

Jim Newkirk is blogging about the down side of setup and teardown methods in test classes, and why you shouldn’t use them. Setup and teardown methods attract entropy faster than an outsource programmer with his first patterns book. Jim’s new … Continue reading 

| Leave a comment