Monthly Archives: March 2008

PTOM: The Dependency Inversion Principle

The Dependency Inversion Principle, the last of the Uncle Bob “SOLID” object-oriented design principles, can be thought of the natural progression of the Liskov Substitution Principle, the Open Closed Principle and even the Single Responsibility Principle.  This post is the … Continue reading 

Posted in PTOM | 12 Comments

Stop creating custom delegate types

Note to OSS and framework developers: Please stop creating custom delegate types.  Use the Action and Func delegates instead. The problem is that delegate types with the same signature are not convertible to each other.  For example, none of these … Continue reading 

Posted in C# | 14 Comments

Looking for Extreme Programmers in Austin, TX

As was announced on Jeffrey’s blog, Headspring is hiring Extreme Programmers.  We have several positions to fill, so if you’re interested in joining the leading agile consulting company in Austin, please apply through our job posting. We’re a small company … Continue reading 

Posted in Misc | 3 Comments

Variations on a Func-y theme

Delegates have come a long way since C# 1.0 debuted back in early 2002.  The progression from using delegate parameters (outside of events) grew from quite cumbersome to fairly expressive with Lambda expressions with C# 3.0.  Functional style programming has … Continue reading 

Posted in C# | 2 Comments

Is your process dead?

Two of the conventional criteria for exhibiting life are: Adaptation Response to stimuli Together these combine into the ability to respond to outside forces.  So how do we know if your process is dead?  If your team or organization: Does … Continue reading 

Posted in Agile | 2 Comments

Controller bloat?

Some of my background information first: 2 years classic ASP (ASP 3.0) 5 years ASP.NET 1-2 months MonoRail 10 minutes ASP.NET MVC ~45 seconds Ruby on Rails That’s the sum of my experience with different web application frameworks.  Obviously it’s … Continue reading 

Posted in ASPNETMVC, MonoRail | 5 Comments

Mapping options in LINQ to SQL

A recent thread on the ALT.NET message board asked: How does everyone create the DataContext for their DB? Do you use the IDE and generate your custom .dbml (which also generates all your DTO’s)? Do you use a generic DataContext … Continue reading 

Posted in DomainDrivenDesign, LINQ2SQL | 2 Comments

Review – xUnit Test Patterns

I consider one of the measures of quality of a book to be the number of personal assumptions challenged by its material.  To that point, Gerard Meszaros’ xUnit Test Patterns did not disappoint. Perhaps the biggest assumption was a dogmatic … Continue reading 

Posted in TDD | 5 Comments

Clearing up the Mock confusion

There’s some bad blood concerning Mocks, and a lot of it rightfully so.  Because of popular mocking frameworks, the name “Mock” has become interchangeable for “Test Double”.  In Texas, we ask for a Kleenex, not a tissue, and a Coke … Continue reading 

Posted in TDD | 3 Comments

Advanced mocking: mocks and stubs

Test Spies can help us verify the indirect outputs of a system under test.  If an OrderProcessor needs to send an email, we don’t want that test sending real emails, so we set up a Test Spy to capture that … Continue reading 

Posted in TDD | 5 Comments