Impressions so far
First off, congratulations on the book - great to see TBH in another flavour.
I thought I would stick in my two cents and give my impressions so far.
A few people have commented that some MVC features are not explained very well - I would have to agree, but then the great thing about the Problem Design Solution books is that they are not your typical reference manuals. If you are wanting more detailed coverage of MVC I would recommend Professional MVC 1.0 (by Wrox). It's written by the guys who created ASP.NET MVC and is a great starting point if you are new to it.
That said, part of the reason for the success of the last book was that it gave the reader very granular steps in building a fully featured web application from scratch.
So far my experience of the TBH MVC is that this is impossible to do with the information provided. I appreciate that it is not always possible to detail every step but you need to be careful when making assumptions about what the reader will just "figure out".
After starting from a blank solution and having a pretty good understanding of ASP.NET MVC I hit a stumbling block almost immediately. The result of this was the missing ManagedFusion assemblies, but there is no reference whatsoever to these in the book - I downloaded the source from codeplex in the end and used Reflector to find out that these assemblies did contain the missing classes the compiler was bleating about.
I'm not opposed to using third party assemblies providing there is accompanying documentation. For many people starting out with ASP.NET MVC or ASP.NET all together this may have been difficult to figure out.
One issue that I have is that when discussing the advantages of MVC the book mentions separation of concerns. Whilst there is definately a separation between model, view and controller, my personal opinion is that this application is more tightly coupled and much less scalable than the previous version.
In the previous book, the provider model was introduced and whilst we still had everything in one project, there was a clear separation of layers and it was fairly obvious how you could roll your own data specific providers.
TBH MVC does away with the provider model, talks of a pluggable architecture yet it is tightly coupled to LINQ to SQL. Not saying there is anything wrong with L2S but I guess I expected to see the layers separated into different projects and coverage of how using the repository pattern and dependency injection can be used to create loosely coupled layers and a more scalable web app.
Finally there was no coverage of TDD, which I think is a really cool part of MVC and you don't really appreciate it till you see it in action.
In case the pending response will be something along the lines of there not being enough room to cover all these areas, the "NerdDinner" tutorial on the ASP.NET site, which is a much simpler application, does cover these fundamentals.
Without sounding too negative, it was still great to see TBH using MVC but if there is another Problem Design Solution MVC book then coverage of these areas is necessary there should be less guesswork required by the reader.
Thanks
Ben
Last edited by retroviz; November 23rd, 2009 at 04:11 PM..
|