How is it possible that I have never heard about SubSonic before? SubSonic appears to be a very full featured, template driven DAL generator. It all started yesterday when I saw this post on Phil Haack's site about Rob Conery joining Microsoft and I followed the link to Rob's website. Which, in turn, led to the embarrassment that was my last post. But it also led to me discovering SubSonic. So in retrospect I believe it worked out in my favor (In your face karma!). I have been watching a few of the Sonic Casts and I have to say that I am going to have to delve into SubSonic deeper on some projects in the future. And now that I know that Microsoft has hired Rob to work on integrating SubSonic with the MVC framework coming out, it gives me even more of a reason to try and play with it in the future.
After watching Sonic Cast #2 I am going to have to say that I like Rob already. Not only does he not have an annoying voice (which is hard to find these days in the world of Pod/Webcasts. You won't find me doing any of these!) but he speaks slowly and clearly and doesn't like the ObjectDataSource!! I know I just threw that one in, but in the second Sonic Cast he starts to go through the paging features of SubSonic using the ObjectDataSource and at that point my mouse cursor was inching closer and closer to the close button on the window. Then he finishes it up and I say to myself "well, there sure is a lot of time left on this video, what is going to happen next?" And he gets on his soap box and says how he doesn't like the ObjectDataSource and how he prefers to use the code behind to bind data directly to his views. I mean, look at this. Now this is a real man's databinding (is that an oxymoron?).
The really cool stuff came when I started watching Sonic Cast #3 which was about the MVC patterns that they have added to Subsonic. In the webcast Rob started talking about how SubSonic generates the Models and Controllers, but then on code behind of the page you must access the Controller to pull data for the view. This isn't really what an MVC pattern is, in fact, in the webcast Rob said that this is more of a Data Broker pattern than an MVC pattern, but that is because asp.net by default implements a Page Controller which controls all flow of logic in the pages. So, without sounding like pattern regurgitating moron, the Controllers are setup similar to a Data Access Object and then the classes now represent the Domain objects which have no knowledge of the mapping to the database. The difference is that the Data Access Object in this instance should contain logic related to the flow of the application but this is hard when asp.net is forcing all of the logic to the page.
But then again, that is exactly why Microsoft hired Rob. The new MVC framework that Microsoft is going to soon (soon being relative) release is the key to filling this gap (or actually replacing the gap altogether) and they are hiring Rob to make sure that SubSonic works with it. It seems like the developer side of Microsoft has been on a roll these past few months, hiring Rob Conery, hiring Scott Hanselman, releasing the source for the .net 3.5 framework, announcing the MVC architecture and just generally seeming to really be starting to understand the community. Or maybe certain people have always understood the community it is just that these people are being put in right places to exact change. (Then I see articles about Steve Balmer and his comments about open source and I feel like I am dealing with Dr. Jekyll and Mr Hyde.)
Loved the article? Hated it? Didn’t even read it?
We’d love to hear from you.