A Good TDD Process Diagram?

Date September 22, 2008

I am trying to create a flow diagram that depicts the Test Driven Development process and I need your expertise/opinion/criticism in nailing it down.
Take a look below and let me know what is wrong, what is right and what can be done better.

I drew the above diagram based on my understanding of TDD and [...]

Client & Server Side Validation in ASP.NET MVC

Date September 8, 2008

[Update: The code is open-sourced at http://code.google.com/p/mvcvalidation/]
The asp.net mvc codeplex preview 5 version just came out a few days ago and it includes a lot nice enhancements.  For the best introduction read Scott’s post. 
Some of my favorite changes happened in validation.  Incidentally, I was already working on a post to talk about doing client [...]

Deciding Between ASP.NET MVC and WebForms

Date September 7, 2008

I am trying to create a decision flowchart for my ASP.NET MVC book and wanted to get some community feedback.  Does this diagram make sense?  What other factors should one consider that should make it into the chart?

Things to Note
I have tried to use the general consensus of the community for each decision.  For [...]

Use ModelBinder to Generically Bind Complex Types

Date September 3, 2008

[Update: Simone brought my attention to the fact that ComplexModelBinder which comes with the framework does exactly that.  You can find more info here]
ASP.NET MVC Preview 5 introduce the ModelBinder attribute that can be used to decorate a complex type in an Action.  This allows us to have actions that look like this

public ActionResult Create([ModelBinder(typeof(GenericBinder))] [...]

Is this Better than Constructor Injection?

Date August 29, 2008

So after I finished my post on property injection I thought of something, maybe I shouldn’t use constructor injection for my classes.  Maybe, I can just use lazy properties that would call my IoC (Ninject) Kernel to instantiate the object.  So instead of defining a constructor like this:

public IAccountService Service { get; set; }

[Inject]
public AccountController(IAccountService [...]