Do plugins give new functionality or different functionality?

J

jmDesktop

When you create a system that takes "plugins," does that mean that
your plugins give new additional methods that were not there in the
original plugin interface previously or does it only mean that I have
a set of interfaces that must be implemented and those new
implementations are my new functionality?

For example, if I have an IMath interface that has method signatures
that are called add and subtract, take two numbers, you get the idea,
does that mean that if I create a plugin that uses IMath, I only will
be creating implementations of add and subtract? If I created a
multiply and divide method, alongside my necessary add and subtract,
in my plugin is that now not a plugin but something else? Is that
just inheritance without the notion of plugin architecture, extension
rather than expected implementation?

Just trying to understand the fundementals. Thank you.
 
P

Peter Morris

It depends entirely on the plugin :)

For example, you might have an app that produces animations, in this case
the plugins would probably be a target file format (wmv, flv, etc).

In another app you might have plugins that register custom actions for
certain forms in your app, executing those actions might then do something
completely new such as showing a form within the plugin assembly. Or for
grid computing the client machine has no prior concept of what task it is
going to be given, it receives a plugin which it loads and executes in order
to analyse Cancer cells or Antrhax or something.



Pete
 
G

Göran Andersson

jmDesktop said:
When you create a system that takes "plugins," does that mean that
your plugins give new additional methods that were not there in the
original plugin interface previously or does it only mean that I have
a set of interfaces that must be implemented and those new
implementations are my new functionality?

For example, if I have an IMath interface that has method signatures
that are called add and subtract, take two numbers, you get the idea,
does that mean that if I create a plugin that uses IMath, I only will
be creating implementations of add and subtract? If I created a
multiply and divide method, alongside my necessary add and subtract,
in my plugin is that now not a plugin but something else? Is that
just inheritance without the notion of plugin architecture, extension
rather than expected implementation?

Just trying to understand the fundementals. Thank you.

The notion of a plugin is that it's something that you plug into an
existing system, which the system is aware of and can use in some way.

Thus, you have to use the means of interacting with the system that the
system provides for plugins. If you add something that the system is not
aware of, it can't use it.
 
J

jmDesktop

The notion of a plugin is that it's something that you plug into an
existing system, which the system is aware of and can use in some way.

Thus, you have to use the means of interacting with the system that the
system provides for plugins. If you add something that the system is not
aware of, it can't use it.

--
Göran Andersson
_____http://www.guffa.com- Hide quoted text -

- Show quoted text -

So with my math example above, what am I describing? A plugin or an
extension? When I see something like wordpress and tons of plugins,
that makes me think that plugins provide something new the original
designers didn't think of.
 
G

Göran Andersson

jmDesktop said:
So with my math example above, what am I describing? A plugin or an
extension?

If you add methods that is not in the interface, it's not a plugin, as
the system using the interface has no way of calling the methods (short
of using reflection).
When I see something like wordpress and tons of plugins,
that makes me think that plugins provide something new the original
designers didn't think of.

Yes, but the plugins still do it within the environment that the
designers expose to the plugins.
 

Ask a Question

Want to reply to this thread or ask your own question?

You'll need to choose a username for the site, which only take a couple of moments. After that, you can post your question and our members will help you out.

Ask a Question

Top