Tuesday, December 15, 2009 5:18 PM Kazi Manzur Rashid

MVCTurbine and my response

As mentioned in my last post’s comment, Javier has posted his thoughts. Though I criticized his pet project in three different aspects, but in his response he has only discussed the first two, and skipped the last one completely. Please read his response first before continuing this post.

So, once again what is the correct way of implementing it.

I don’t think the documentation could do any help as I understand the ins and outs of the MVCTurbine codebase. The first thing that I think needs to be corrected as I mentioned in my last post not to come up with a Generic API for the all the IoC container’s service registration and this is one of the things that needs to be decided at the early stage of the development and the rest of the implementation will depend upon it. I am sure the initiators of Common Service Locator did face the same situation and they decided not to handle the registration part which I think was the correct and wise decision.

One of the goal of both MvcTurbine and my new extension is not to clutter your global.asax, instead it should have individual Blade(in MvcTurbine) or BootstrapperTask (which I first introduced in my another pet project KiGG) which would perform individual tasks. But, due to above mentioned limitation of MvcTurbine, you have to use the global.asax when setting up container in real life applications (Check the last example of Javier’s post). This is not a big issue for a tiny mvc application, but if you are developing a relatively large application with multi-module system, it is a show stopper as there is no way the individual module can register its isolated services in the container with the native features of that container.

At the end, due to those limitations of MvcTurbine I came up with my own version. So I would suggest you check both the projects and pick whatever you think suites your need.

[Edit: The intension of this post not to criticized Javier Lozano personally or his technical abilities, I do respect and love to work with him, at the end we are both trying to enrich the asp.net mvc ecosystem]

[Edit2: I got few feedbacks that my tone was bit arrogant and I am extremely sorry for that, I hope now it sounds reasonable.]

Shout it
Filed under: , , , , , , , , ,

Comments

# Twitter Trackbacks for MVCTurbine and my response - Kazi Manzur Rashid's Blog [asp.net] on Topsy.com

Pingback from  Twitter Trackbacks for                 MVCTurbine and my response - Kazi Manzur Rashid's Blog         [asp.net]        on Topsy.com

# re: MVCTurbine and my response

Tuesday, December 15, 2009 10:40 AM by KevDog

It's not what you say, it's how you say it.

When you say "the mistake Javier made" you are asserting that your opinion (and it is an opinion) that not only is his implementation objectively incorrect, but that yours is objectively correct.

May I suggest something more along the lines of "the choices that Javier made" and "I like what he's done, but I would extend it in this direction".

Yes, you threw in some credit as an update, but by then it was too late. Give the love up front and you'll go further.

# re: MVCTurbine and my response

Tuesday, December 15, 2009 2:54 PM by Javier Lozano

@Kazi

I want you to know that I didn't take this as bad rep or criticism. I love this sort of feedback that helps me see how I can make my code and contributions a lot better. So, please know this, there are no hard feelings from me, we are having a design review. :) Also, if my post response sounded offensive or harsh, in any way, that was not the intent. I blame the late night for the post and my body wanting to go to sleep :)

I chose not to answer the third aspect since it didn't fit into the "CSL/Service Registration" pieces. I wanted to write a different post on talking more about ActionFilters and how Turbine handles them, so I figure I would address that point there. But you're 100%, the current method in which ActionFilter (or any other I*Filter in MVC) is handled within Turbine is a bit lacking. My intent with this is to provide a Fluent API that allows you to wire up those pieces in a different way and provide better support for the attributed model.  However in trying to ship v2, I went with the current implementation just get the bits out the door. Don't worry, I will address that piece on v3. :)

System.Web.Mvc.Extensibility looks good and I like what you're providing to the community, as you said, it's only fair that people evaluate both projects and use the right tool for their need.

The one thing I would like to discuss in order to get your thoughts on this, is this statement:

"This is not a big issue for a tiny mvc application, but if you are developing a relatively large application with multi-module system, it is a show stopper as there is no way the individual module can register its isolated services in the container with the native features of that container."

How you solve the "a module needs to register its services in the container with the native features of that container" outside of the Mvc.Extensibility and MvcTurbine context?

# Social comments and analytics for this post

Tuesday, December 15, 2009 6:43 PM by uberVU - social comments

This post was mentioned on Twitter by ManzurRashid: Just blogged: http://tinyurl.com/yb398sm - MVCTurbine and my response #aspnetmvc

# ASP.NET MVC Archived Blog Posts, Page 1

Monday, December 21, 2009 1:17 AM by ASP.NET MVC Archived Blog Posts, Page 1

Pingback from  ASP.NET MVC Archived Blog Posts, Page 1