Sponsored By Aspose - File Format APIs for .NET

Aspose are the market leader of .NET APIs for file business formats – natively work with DOCX, XLSX, PPT, PDF, MSG, MPP, images formats and many more!

Category Archives: SOLID

Avoid Testing Implementation Details, Test Behaviours

Every so often I return to Kent Beck’s Test-Driven Development. I honestly believe it to be one of the finest software development books ever written. What I love about the book is its simplicity. There is a sparseness to it … Continue reading 

Also posted in ATDD, BDD, STDD, TDD, xUnit | 22 Comments

Why use the command processor pattern in the service layer

Using a Command Processor When we think about a layered or hexagonal architecture it is common to identify the need for a service layer. The service layer both provides a facade over our domain layer to applications – acting as … Continue reading 

Also posted in CQRS, DDD, Events, Object-Orientation, Uncategorized | 15 Comments

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 



.csharp { font-family: ‘Consolas’, ‘Courier New'; color: #33F;} Thus far in my journey to explain the why of the so-called SOLID principles I’ve covered Single Responsibility Principle and Open/Closed Principle. This brings us to “L” for Liskov Substitution Principle which … Continue reading 

Also posted in Uncategorized | 3 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 Agile | 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 Agile, SCRUM, XP | 4 Comments