插件的简单开发原理

以java语言举例来说吧。要想实现插件,基本要符合下面几点要求:
1.宿主系统需要提供对外公开的接口(interface),插件系统创建自己的class,并且要实现公开的interface
public interface PluginClassInterface{
public void play();
public void stop();
}

public PluginClass1 implements PluginClassInterface{
public void play(){
System.out.println("play");
}

public void stop(){
System.out.println("stop");
}
}


2.宿主系统需要动态加载插件,java中可以通过下面的方式来加载并实例化对象
Class clazz = Class.forName("my.plugin.PluginClass1");
PluginClassInterface obj = (PluginClassInterface)clazz.newInstance();
obj.play();
obj.stop();


3.为了避免硬编码,宿主系统一般提供一个xml配置文件,把插件相关的信息配置在配置文件中,这样可以根据配置去加载指定的插件,比如:

plugin.xml

<plugins>
<plugin name="plugin1" classname="my.plugin.PluginClass1" />
<plugin name="plugin2" classname="my.plugin.PluginClass2" />
</plugins>

举例来说的话,tomcat相当于一个宿主系统,servlet相当于tomcat下面的插件。
tomcat对外提供javax.servlet.Servlet接口,所有的业务servlet都要implements这个接口(当然servlet规范又为我们提供了一个抽象的HttpServlet类,我们可以extends HttpServlet)。然后业务servlet必须配置在web.xml文件中。tomcat通过读取web.xml中的信息来加载servlet,然后有request请求的时候,根据url mapping去调用指定的业务servlet中的service方法(HttpServlet类为我们实现了service方法,所以我们只需要实现doPost和doGet方法既可,service方法里面会根据request的method类型,来替我们调用doGet或者doPost方法)。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值