Project Description
This project represents my 4th ASP.NET/MVC project on which I was working. Clients requirements were two forms with a lot of business rules/calculations which would be available to the public; a secure logon and input table and backing database to put data which would be used for certain calculations; the user form needed to provide feedback on calculations as they typed (ajax/Json). I built this project out in approximately 70 hours all in (including data entry, meetings and other non-coding tasks)

Why I put this project out here was to demonstrate various tools, patterns and techniques that might help you get your arms around MVC.

Some of those things include:
  • Passing complex object graphs and having the default ModelBinder properly map them
  • Using nested UI hints to promote uniformity and code re-use
  • Using Automapper to wire up dependancies on the ViewModel pattern
  • Using StructureMap to enforce classes are only accessed via interfaces
  • Writing small, terse functions in such a way that a subject matter expert could perform a code review
  • Unit tests on all calculations
  • Using Ajax/JSon
  • JQuery & CSS manipulation
  • ASP.NET Membership Provider
  • Telerik Grid control
  • Caching 

The complex object graph in this example has a Worksheet ViewModel, which contains multiple other nested ViewModels, one of which being a collection:

Worksheet has-a Family: Family has-a Array of Child : Child has-a Name and DOB

Complex object graph

 




 

Last edited Aug 24, 2010 at 2:15 PM by JamesFleming, version 4