Nurturing innovative business models to build tomorrow's enterprises

Plug-in Framework Made Easy

By Thomas Cheah • October 9, 2010 • Filed in: Software Engineering

Due to the factor such as time, manpower and to meet the evolving requirement in software development, it is often not possible to include all the features users might need during the initial release of software. As an extensive software platform, it is imperative to provide a robust infrastructure where the services are always up-to-date and up-to-demand so that user requirements will be met as time goes. Software plug-in is a good mechanism to provide frequent update and encourage user contribution to improve the software. In order to ease the end-users of enhancing the software, a plug-in must be able to implement easily without extensive coding. The small plug-in file can then be downloaded by the users and ‘plug’ into the program to provide extended functionality to the software.

Reflection is a generic term that covers various .NET base classes that allow one to find out information about the types in programs or other assemblies, and also to read other metadata. Other then obtaining information, the power behind reflection mechanism is that it allows dynamic instantiation of the type discovered into a concrete object. This creates an interesting possibility that a program can dynamically create classes which is not known yet during the compilation of that program, which may be located in any external file. This is the heart of the plug-in mechanism that I will be presenting here. I will show you the basic architecture of our plug-in framework, and then followed by a quick demonstration to see it in action.

The link for downloading source code of the demo application is provided at the end of the presentation. Thie plug-in framework is a concept that was created in 2003 when I was developing an extensible IP telephony system. You can read more about the project here to see how this concept can be applied in real-world application.

Click here to download the source code for XShow.

About The Author

Thomas CheahThomas Cheah is the Principal CTO On Demand of Procto. He helps business owners and executives to innovate their business model through proper planning, selection, and implementation of technology for their business. He believes that constant business innovation is increasingly important in today's business environment so that our business is prepare for rising cost and globalization in order to stay ahead (or away) of competition.

Learn more about Thomas.

Share: LinkedInFacebookDiggTwitterFeed

Comments

i just wanna thank you for sharing your this info on your site

There is obviously a lot to know about this. I think you made some good points in Features also.
Keep working ,great job!

Hi there! I simply want to give a huge thumbs up for the good data you have right here on this post. I might be coming back to your weblog for extra soon.

I’m impressed, I must say. Really not often do I encounter a weblog that’s both educative and entertaining, and let me let you know, you’ve got hit the nail on the head. Your concept is outstanding; the difficulty is something that not enough people are talking intelligently about. I’m very comfortable that I stumbled across this in my search for one thing relating to this.

Youre so cool! I dont suppose Ive read anything like this before. So nice to search out any individual with some authentic thoughts on this subject. realy thank you for beginning this up. this web site is one thing that is wanted on the web, someone with a bit of originality. useful job for bringing something new to the internet!

Oh my goodness! an amazing article dude. Thank you However I am experiencing concern with ur rss . Don’t know why Unable to subscribe to it. Is there anyone getting equivalent rss drawback? Anyone who knows kindly respond. Thnkx

great website you have here btw

My brother suggested I might similar to this website. He was completely proper. This kind of post in fact created my own day. You can not envision just how much time I needed spent with this information! Thanks!

Hello! Very good job(this site)! Thank you man.

Great information! I’ve been looking for something like this for a while now. Thanks!

Your blog is one of a kind, i love the way you organize the topics. :D

Please let me know if you’re looking for a writer for your site. You have some great articles and I believe I would be a good asset. Thanks!

Hi there, I honestly like reading your posts, offer you!

Really interesting blog, keep up the good work!

Hello, I love your blog. Do you write all of the articles yourself?

Awesome blogs,thanks for sharing.

Thanks for tris interesting information! I found it very useful =)

Thanks for posting this, it was very helpful and spoke a lot

Thank you for that smart critique. Me & my neighbour were preparing to do some research about that. We received a excellent book on that matter from our local library and most books where not as influensive as your information and facts. I am pretty glad to see these information which I was searching for a lengthy time.

Thanks, always enjoy reading your posts.

Just by how we create, everyone feel as if a competent author.

Wow, so that’s how you do it. Good info and writeup by the way.

Wow, this article was really educational!! =)

Can I just say what a relief to find someone who actually knows what theyre talking about on the internet. You definitely know how to bring an issue to light and make it important. More people need to read this and understand this side of the story. I cant believe youre not more popular because you definitely have the gift.

I just want to mention I am just newbie to weblog and absolutely liked your web page. More than likely I’m likely to bookmark your blog . You absolutely come with remarkable well written articles. Many thanks for sharing your blog site.

I’m impressed, I must say. Really rarely do I encounter a weblog that’s both educative and entertaining, and let me let you know, you could have hit the nail on the head. Your thought is outstanding; the problem is one thing that not sufficient persons are talking intelligently about. I’m very glad that I stumbled across this in my seek for one thing regarding this.

Do you care if I quote your article on my Wiki Site? I would think this article suits my topic perfectly. Uhmmm, thanks for posting this.

Outstanding article not to mention very easy towards realize explanation. How do I just do receiving permission towards submit element of this content with my future news letter? Giving suitable consumer credit rating back to you typically the author not to mention link in the web site would not be considered trouble.

Heya, I wanted to ask you one thing. Is this a wordpress web site? I will be thinking about switching our blog site from Blogger to wordpress, ya think this can be probable? In addition did you design the following template by yourself some how? Bless you for the help!

Amazing function! This really is the type of information that should really be shared around the net. Shame on the search engines for now not positioning this post upper! Come on more than and visit my internet site . Thank you =)

I conceive you have noted some very interesting points , appreciate it for the post.

I like this web blog very much, Its a rattling nice office to read and get information.

I admire your blog , it has of good deal of info. You just acquired a perennial visitor of this weblog.

I believe that is among the such a lot important information for me. And i am satisfied studying your article. But should observation on few normal things, The site style is perfect, the articles is in reality excellent :D. Excellent job, cheers.

My partner and i quite like everything you submit here. Very unusual and also brilliant. 1 problem though. I’m running Opera together with Debian and also pieces of one’s up-to-date web design parts certainly are a tiny wonky. My partner and i notice it’s not just a typical create. Yet it’s an issue to be able to keep in mind. My partner and i hope which it will aid and also continue to keep up the major top quality creating.

I seriously like your writing design, excellent info , appreciate it for putting up : D.

 

Leave a Comment

« | Home | »