Category Archives: Design

Real World Refactoring

If you’ve ever asked, or been asked, for an example to illustrate a software design principle, you know how frustrating it can be to work with a contrived example. There is rarely any depth to the example, and it lines … Continue reading 

Also posted in Design Patterns, Design Principles, SOLID, Testing | 6 Comments

Simplest versus first thing that could possibly work

One of the core XP practices that resonated with me quite early on was the concept of simple design.  When I learned TDD, this practice was further refined with the concept of doing the “simplest thing that could possibly work”.  … Continue reading 

| 3 Comments

Defining and refining conventions

At last night’s ADNUG talk, Jeremy Miller talked about Convention over Configuration, and many of the principles the Rails community embraces.  He showed a few examples of opinionated software, such as FubuMVC.  One thing I would have liked more conversation … Continue reading 

| 2 Comments

Beyond top-down design

Here at Los Techies, we talk a lot about SOLID principles and design.  Two of the principles that have always resonated with me are the Single Responsibility Principle and the Dependency Inversion Principle.  With the two together, the need for … Continue reading 

| 9 Comments

Entity interface anti-pattern

This has been discussed many times before on various mailing lists, and I’m sure there are blog posts about it that are eluding me currently, but I’ll put it out there anyway.   Interfaces on entities are an anti-pattern (when … Continue reading 

Also posted in Best Practices, Testing | 10 Comments

Refactoring legacy code

Lately my co-worker asked me to pair with him and make a code review with him of one of his projects. After having spent some hours on refactoring this legacy application together with my co-worker I want to share some … Continue reading 

Also posted in Favorites | 1 Comment

The open closed principle

In the previous two posts I discussed the S of S.O.L.I.D. which is the Single Responsibility Principle (SRP) and the D of S.O.L.I.D. which corresponds to the Dependency Inversion Principle (DI). This time I want to continue this series with … Continue reading 

Also posted in Development, Rant | 7 Comments

Entropy in software

One of the greatest lessons I had growing up was from my music teacher, on improvement: You’re either getting better or getting worse, but you’re never standing still The same applies to a software system.  Any software system’s design either … Continue reading 

Also posted in .NET, Open Source | Tagged , | 3 Comments

The Dependency Inversion Principle

In this post I want to discuss the D of the S.O.L.I.D. principles and patterns. The principles and patterns subsumed in S.O.L.I.D. can be seen as the cornerstones of “good” application design. In this context D is the place holder … Continue reading 

Also posted in DRY, jQuery | 5 Comments

Enabling success with opinionated architecture

One of my pet peeve questions I often see on various tech mailing lists is “How can I prevent situation XYZ”.  In one recent case, it was “How can I prevent UI calls to mutable methods in the domain?”  The … Continue reading 

| Leave a comment