Autumn of Agile Iteration 1 Part B Primer Notes

As promised, here are the preparation materials for the upcoming next installment in the Autumn of Agile screencast series.

In this installment, we will be looking at completing our first User Story (User can associate self with one or more skills) by creating our first ASP.NET MVC page, wiring up ASP.NET MVC to take advantage of Rhino Tools infrastructure, and building our first Repository to use NHibernate to access our database.

To set the stage for all this work, I am recommending the following resources be explored to help provide some basis for better understanding the upcoming session…

James Kovacs excellent intro to the concepts of IoC and DI from MSDN Magazine:

Tame Your Software Dependencies for More Flexible Apps

http://msdn.microsoft.com/en-us/magazine/cc337885.aspx

The sadly less-than-comprehensive Rhino Tools documentation (and if you find the docs lacking, its a WIKI so go contribute something, damnit!):

http://ayende.com/Wiki/Rhino+Commons.ashx

For the video-inclined…

Roll Your Own IoC Container by James Kovacs (this guy seems to be on the ‘share-DI-with-the-world tour courtesy of MSDN smile_tongue)

http://www.dnrtv.com/default.aspx?showNum=126

The ASP.NET MVC homepage (with a decent collection of 10-15 minute videos that introduce the concepts one at a time) [warning: many of these are slightly outdated and don’t reflect the latest BETA release so pay attn to the concepts rather than the specific coding in each video]

http://www.asp.net/mvc

Phil Haack (ASP.NET MVC Product Manager)’s ASP.NET MVC talk @ PDC

http://mschnlnine.vo.llnwd.net/d1/pdc08/WMV-HQ/PC21.wmv (warning: this link leads to a 300mb + download!)

Where to Focus

Since there is a lot here, many people with limited time will have to pick and choose where to focus their attention.  If you must choose among the above, I recommend that you…

  • Read James Kovac’s MSDN article and grok the concepts rather than the details (Windsor will abstract away the guts of the details for us anyway); if you are unfamiliar with IoC and DI, this article is an excellent intro
  • Read the table-of-contents at the Rhino Tools WIKI page to get a good sense of the overall capabilities of the libraries; don’t concern yourself with any of the details at this point as we will be covering the real-world implementation of some of this collection in our own screencasts
  • Watch Phil Haack’s PDC presentation; it walks you thru making the transition from WebForms thinking to ASP.NET MVC thinking and along the way introduces most of the important ASP.NET MVC concepts that I won’t be bothering to cover in my sessions as info is already provided in many other places on the ‘net (ASP.NET MVC has to be the most comprehensively-documented BETA release in history in terms of the number of resources that are out there on learning it)

Lastly (and this one is simple since its just a 2 paragraphs in length) review the following definition of the Repository Pattern culled from the always-excellent (and mandatory reference source on every good programmer’s bookshelf), PoEAA by Fowler…
http://martinfowler.com/eaaCatalog/repository.html

But where’s the screencast?

Astute viewers will take note that I am now officially ‘late’ with the next installment of the series.  This is because I am still struggling with the original challenge that I mentioned when first considering this series: that of having to decide whether to record every little bit of coding I’m doing or fade-in and fade-out a-la Rob Connery’s ASP.NET MVC Storefront series.

What I’ve decided is that for the initial several iterations we are going to see everything I do since its setting the stage/foundation for what’s to come and at some indeterminate point in the future I will switch to a more fade-in/fade-out style of showing what’s going on so that repetitive stuff goes away and the focus remains on the new stuff for each iteration.  We’ll see how that goes smile_sarcastic