I recently presented on the topic of Designing for Extensibility at a FASS (Friday Afternoon Seminar Series) at Clarity. The presentation was inspired by an article by Miguel A. Castro in CoDe Magazine. In this article, Miguel demonstrated the use of Providers, Plug-Ins, and Extensibility Modules to demonstrate best practices for building an extensible application.
While I was already familiar with the design patterns presented in the article, I thought Miguel did the best job I’ve seen in demonstrating how to use them. I had also previously heard Miguel discuss the topic as a guest on my buddy Craig Shoemaker’s podcast – The Polymorphic Podcast.
The accompanying code is a Visual Studio 2008 project that contains everything you need to to explore Providers, Plug-Ins, and Extensibility Modules. I included all the necessary plumbing code that was excluded from the CoDe Magazine article due to space constraints, e.g. dealing with custom web.config sections.
The source code for the Visual Studio 2008 project has been RAR’d and is available here.
You can start the screencast by clicking on the image below.
P.S. It’s 0 degrees right now in Chicago, and I turned off my furnace so I could record this screencast without the sound of it behind me. I hope you appreciate that I froze for you :,,)
214 comments , permalink