Your [type of framework / tool] Choice is Not a Feature of Your Application

Tim Barcz posted a great article on how the specific choice of an IoC container doesn’t really mean much in the grand scheme of the application. This line, at the bottom of the post, really sums it up for me:

Choosing one container over another won’t make your application a success, the architecture, or lack there of, will have far more of a say on your application than will your container choice.

It’s far more important to have good patterns and practices that allow us to implement architectures that are maintainable and able to scale appropriately, than to have “that one specific framework” vs “that other framework” (or no framework at all). And it’s a fairly small step to apply this idea to any other framework or tool that we want to use in our application development. Change one word – “container” – in that quote above and see how it affects the decisions we make:

Choosing one [type of framework / tool] over another won’t make your application a success. The architecture, or lack there-of, will have far more of a say on the success of your application than will your [framework / tool] choice.

Of course, there are times when there are specific needs and valid reasons for choosing one tool over another. Be sure to read the comments on Tim’s post – the subject of valid reasons for changing is discussed more, and I really like what Tim has to say about it.

About Derick Bailey

Derick Bailey is an entrepreneur, problem solver (and creator? :P ), software developer, screecaster, writer, blogger, speaker and technology leader in central Texas (north of Austin). He runs - the amazingly awesome podcast audio hosting service that everyone should be using, and where he throws down the JavaScript gauntlets to get you up to speed. He has been a professional software developer since the late 90's, and has been writing code since the late 80's. Find me on twitter: @derickbailey, @mutedsolutions, @backbonejsclass Find me on the web: SignalLeaf, WatchMeCode, Kendo UI blog, MarionetteJS, My Github profile, On Google+.
This entry was posted in Philosophy of Software, Principles and Patterns. Bookmark the permalink. Follow any comments here with the RSS feed for this post.