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
