Errr, some catchy title.... RSS 2.0
 Thursday, August 09, 2007

Developing an application that supports plugins is not an easy feat. Below are some links that will help you start the ball rolling:


One from CodeProject. Next one is from Roy Osherove on MSDN. Actually, it has two parts. Part one and two. After reading those you will have general idea what you should do. How to start, how to look for appropriate plugins and so forth. I would like to point out a few things more you should take into consideration.


First of all, what will the communication between the application and other plugins look like. How and if the plugins send any information to the hosting application. This of course depends on your applications requirements.


Another big one after communication is how will you visually present the plugins. If they are to be presented in the UI (added to be MainMenu or ContextMenus) the framework must allow it. Also remember not to pass references to your menus, because plugins would be able to delete some entries there. Rather allow a plugin to specify location and items that should be added to menus. This will be safer. (When returning those objects the plugin should already have attached the required event handlers).


Exception handling is also very important. How will you act when your plugin will throw an unhandled exception? Will the whole application crash or will it report gracefully that there was a problem with a certain plugin? For WinForms development there are two events you should register to: Application.ThreadException

AppDomain.UnhandledException.



On the final note, there is dnrTV Show on plugins in .NET. Be sure to watch it.

Thursday, August 09, 2007 2:32:09 PM (GMT Standard Time, UTC+00:00)  #    Comments [0] -
Other
About the author/Disclaimer

Disclaimer
The opinions expressed herein are my own personal opinions and do not represent my employer's view in any way.

© Copyright 2008
Marcin Waligora
Sign In
All Content © 2008, Marcin Waligora
DasBlog theme 'Business' created by Christoph De Baene (delarou)