Category Archives: design

Poor use of DI versus need for DI

Surprise surprise, but Uncle Bob got the twitterverse all riled up with another opinionated post, “Dependency Injection Inversion”.  His basic advice from the post on DI tools is: I think these frameworks are great tools. But I also think you … Continue reading 

| 13 Comments

The Template Method is a lie

In my recent adventures with controller-less actions, and trying to solve the issue of the crazy CRUDController mess I had put myself (and our team/project) into.  While some gravitate towards the Singleton pattern to abuse after they learn the GoF … Continue reading 

| 15 Comments

Getting stuck in the weeds

While plowing through some AutoMapper support issues this weekend, I got a rather troubling one, where a developer got a rather scary exception message: “Operation could destabilize the runtime” Well that’s disturbing.  It all came about because they were trying … Continue reading 

| 1 Comment

When is Poor Man’s Dependency Injection appropriate?

When is Poor Man’s Dependency Injection appropriate? Only in legacy code situations. That’s it.  I was called out appropriately on forgetting this, but legacy code, where I have to apply dependency-breaking techniques, does not always afford the opportunity to apply … Continue reading 

| 6 Comments

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 

| 3 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 

| Leave a comment

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 

| 11 Comments