Jean-Paul Boodhoo Accused of Being Wet behind the Ears

Buy this book at Amazon.com! Jean-Paul Boodhoo is the guy that terrified ‘traditional’ Microsoft Windows programmers on dnr.tv, episodes 10, 11 and 14. You may call this coincidence but I say that J’ah provides: because of my recent exposure to Java programmers (and after my subsequent serious announcement that I was going to fire my manager), I immediately saw that “young” Jean-Paul was simply applying Java-like work habits to the .NET Framework (with a dash of Smalltalk).

Carl Franklin, in this week’s dotnetrocks.com podcast, wanted seize upon Rocky Lhotka’s reservations about Test-Driven Development, while reading fan email accusing Jean-Paul of being too inexperienced to appear on dnr.tv. But to me the more primal issues were:

*Model View Presenter and Model View Controller. *On dnr.tv, Jean-Paul Boodhoo could not tell you the difference between Model View Presenter and Model View Controller because only Martin Fowler knows the freaking difference. And when you find me working for Martin Fowler making over $99,000US per annum at Jean-Paul’s age, I wouldn’t care about the difference. I am sure that Jean-Paul follows directions with excellence and intelligence. My informal survey of Java programmers suggests that there is no clear agreement about what these design patterns are. There will always be small variations of the MVP/MVC theme so you can’t make your code snicker proof. One article that may be of ‘cultural’ interest is “ASP.NET and Struts: Web Application Architectures” written back in 2003 at MSDN.

Table of Related Resources

“[Understanding Interface-based Programming](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnvb600/html/ifacebased.asp)” Back in 1999, Ted Pattison lays it down and makes love to it by the fire.
“[Making TDD Real](http://geekswithblogs.net/tmurphy/archive/2006/03/23/73134.aspx)” Tim Murphy’s comment on this topic.
“[Polymorphism in object-oriented programming](http://en.wikipedia.org/wiki/Polymorphism_in_object-oriented_programming)” Just a refresher.
[NMock](http://www.nmock.org/) Once you have your “interface types” isolated you may need to supply them with “mock” objects for testing.
“[Liskov substitution principle](http://en.wikipedia.org/wiki/Liskov_substitution_principle)” The academic foundation underneath using interfaces as types (assigning an interface to a variable).
“[ASP.NET and Struts: Web Application Architectures](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnaspp/html/ASPNet-ASPNet-J2EE-Struts.asp)” Another Microsoft Struts article. (Yes, I know Struts has been ‘replaced’ by [JavaServer Faces](http://en.wikipedia.org/wiki/JavaServer_Faces).)
“[Applying Robustness Analysis on the Model–View–Controller (MVC) Architecture in ASP.NET Framework, using UML](http://www.codeproject.com/aspnet/ModelViewController.asp)” Shams Mukhtar shows how MVC lives well in a Microsoft world. It may be useful to see MVC in action without Test Driven Development hooks all over the place. This highly rated article also shows how to use [UML](http://en.wikipedia.org/wiki/Unified_Modeling_Language).
“[Model-View-Controller](http://msdn.microsoft.com/library/default.asp?url=/library/en-us/dnpatterns/html/DesMVC.asp)” This looks like an MSDN Patterns and Practices article so we may find stability and comprehensive research here.

rasx()