JAva作成可挿抜プラグイン(回転)

2013 ワード

Java言語の例を挙げてみましょう.プラグインを実装するには、基本的に以下の要件を満たす必要があります:1.ホストシステムは対外公開のインタフェース(interface)を提供する必要があり、プラグインシステムは自分のclassを作成し、公開のinterfaceを実現する.
Javaコード
  • 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");
  • }
  • }
  • 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では以下の方法でオブジェクトをロードしてインスタンス化することができます.
    Javaコード
  • Class clazz = Class.forName("my.plugin.PluginClass1");
  • PluginClassInterface obj = (PluginClassInterface)clazz.newInstance();
  • obj.play();
  • obj.stop();
  • Class clazz = Class.forName("my.plugin.PluginClass1");
    PluginClassInterface obj = (PluginClassInterface)clazz.newInstance();
    obj.play();
    obj.stop();

    3.ハードコーディングを避けるために、ホストシステムは一般的にxmlプロファイルを提供し、プラグインに関する情報をプロファイルに配置する.これにより、構成に応じて指定されたプラグインをロードすることができる.
    plugin.xml
    例えば、tomcatはホストシステムに相当し、servletはtomcatの下のプラグインに相当する.
    tomcatはjavaxを対外的に提供する.servlet.サーブレットインタフェースは、すべてのビジネスservletがimplementsというインタフェースを必要とします(もちろんservlet仕様は抽象的なHttpサーブレットクラスを提供しています.extends Httpサーブレットを使用できます).ビジネスservletはwebに構成する必要があります.xmlファイルにあります.tomcatはwebを読み出す.xmlの情報でservletをロードし、requestリクエストがある場合、url mappingに従って指定されたビジネスservletのserviceメソッドを呼び出します(HttpServiceクラスは私たちのためにserviceメソッドを実装しているので、doPostとdoGetメソッドを実装するだけでいいです.serviceメソッドではrequestのmethodタイプに基づいてdoGetまたはdoPostメソッドを呼び出します).