Wrox Home  
Search P2P Archive for: Go

  Return to Index  

aspx thread: Plugin Architecture : how to design my app to interact with plugins...


Message #1 by "Chris Kersey" <ckersey@m...> on Fri, 17 May 2002 11:28:38 -0700
Hi,

This question is not necessarily tied to any specific programming language
such as C#, but to keep it relevant for this newsgroup, I would like raise
the question if C# is capable of doing this.

I desire to write a web program such as a portal that users/developers can
build plugins for.  The concept is similar to that of how Photoshop allows
developers using an sdk to develop plugins that can be placed in the plugins
directory and then "magically appear" in the toolbar and run as a mini
program with access to Photoshop's API (i'm assuming).

...  so my questions to you are as follows:

1.  Are there any book titles you can recommend that explain the basic
theory and underlying technologies needed (i.e. abstract classes, late
binding, functions as parameters, etc. in say C#/C++) that will shape a
program such that "plugins" can be added to the program after the
program has been compiled and released?

2.  What is the official terminology to describe what it is that I'm
looking for so that my queries can be narrowed down (i.e.  Plugin
Architecture?, Application Add-On compliance?, etc.

3.  When you "plug in" a plugin to an application such as Photoshop,
does the plug-in installation re-compile certain .dll's used by
photoshop in order to tie the plugin to the application and make it
available in the tool bar?  Or.. does an application such as Photoshop
instantiate the plugin because it knows what the plugin name is
(someplugin.dll, or other) and can add the instance at runtime to an
internal stack of pointers to functions?

This sounds somewhat "windows programming" centric, which is where the
concept finds its deepest roots I'm sure, but I want to apply this notion to
a web application and I'm struggling with the basic concepts of how
different programs can know about each other after they have been compiled.

I appreciate *any* help or direction you can point me in to find the
answer(s) to any of these questions.  My preferred languages of
implementation and examples would be either windows C++ or maybe even C# (if
it can handle such a thing).

Chris Kersey




  Return to Index