• Save
Plug in framework made easy
Upcoming SlideShare
Loading in...5
×
 

Plug in framework made easy

on

  • 904 views

This presentation shows the basic architecture of a plug-in framework using reflection in Microsoft .NET Framework. .NET reflection allows one to find out information about the types in programs or ...

This presentation shows the basic architecture of a plug-in framework using reflection in Microsoft .NET Framework. .NET reflection allows one to find out information about the types in programs or other assemblies in .NET, 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. We will show you how you can leverage on the features of reflection to simplify the process of developing a working plug-in framework for your application,

Statistics

Views

Total Views
904
Slideshare-icon Views on SlideShare
863
Embed Views
41

Actions

Likes
0
Downloads
2
Comments
0

2 Embeds 41

http://www.procto.biz 39
http://www.thomascheah.com 2

Accessibility

Categories

Upload Details

Uploaded via as Microsoft PowerPoint

Usage Rights

© All Rights Reserved

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment
  • Retrieving plug-inmetadata without the need of instantiating the plug-in.Version control to load the latest plug-in when conflict.Make PluginApi as an interface that is implemented by MainForm if most of the application logic and functionalities are located in MainForm.

Plug in framework made easy Plug in framework made easy Presentation Transcript

  • Plug-in Framework Made Easy
    Thomas Cheah
    Independent Software Consultant
    www.procto.biz
  • Who Am I?
    Started programming in 1993.
    3 years distinction in eGenting Programming Competition.
    Specialized in 2D & 3D visualization and computational geometry.
    Previously co-founder and technical director of a computer game company.
    Currently developing software for building visualization, documentation, simulation.
  • What is Plug-in?
    Internet Explorer Add-Ons for third party extensions, search providers, accelerators, etc.
  • What is Plug-in?
    Microsoft Office Add-Ins provide helpful features and simplify existing Office capabilities.
  • What is Plug-in?
    Adobe Photoshop filter plug-ins provide extensible image processing capabilities and effects.
  • What is Plug-in?
    Skype Extras allows you to install additional applications / games that can be used with your Skype contacts list.
  • What is Plug-in?
    WordPressPlugins are tools to extend its functionality for easy modification, customization, and enhancement to your WordPress blog.
  • What is Plug-in?
    Comprehensive IP Telephony Services that I developed in 2003. Plug-ins are used to provide a wide range of telephony services like those offered in traditional phone over VoIP network.
  • Why Plug-in?
    Faster time-to-market for your software.
    Reduced software size.
    More extensive and practical software features and capabilities.
    Less hassle in software upgrade and support.
    Cheaper and more effective marketing.
    Greater loyalty from your customers.
  • How to Develop a Plug-in Framework?
    MainForm
    IPlugin
    PluginType1
    PluginManager
    PluginType2
    PluginType3
  • What Does PluginManager Do?
    Loads and initializes plug-ins.
    Retrieves plug-ins.
    Executes plug-ins.
    Disposes and releases all resources of plug-ins.
  • Loading and Initializing Plug-ins
    Start
    Initialize plug-in
    Read all plug-in files
    Add plug-in to cache
    Retrieve plug-in in the file
    Has more plug-in
    Is valid plug-in?
    Yes
    Yes
    No
    No
    Retrieve next plug-in
    End
  • How Does .NET Reflection Help?
    .NET Reflection provides run-time loading and inspection of type information.
  • DEMO
    XShow1 show… X-dimension of inspirations
  • A More Robust Plug-in Framework
    MainForm
    PluginApi
    PluginManager
    IPlugin
  • Other Design Considerations
    Using attributes for plug-in metadata.
    Version control in PluginManager.
    Different plug-in interfaces for different functional areas.
    Make PluginApi as an interface that is implemented by MainForm.
  • Q&A
    Questions & Answers
  • THANKS
    Thank You!Feel free to contact me at thomascheah@procto.biz