n
utch系統架構的乙個亮點就是外掛程式,借鑑這個架構我們可以設計出自己的靈活的系統架構,下面就來解析nutch的外掛程式系統是怎麼回事。
一、 在nutch的外掛程式體系架構下,有些術語需要解釋:
1、擴充套件點(extensionpoint )
擴充套件點是系統中可以被再次擴充套件的類或者介面,通過擴充套件點的定義,可以使得系統的執行過程變得可插入,可任意變化。
2、擴充套件 ( extension )
擴充套件式外掛程式內部的乙個屬性,乙個擴充套件是針對某個擴充套件點的乙個實現,每個擴充套件都可以有自己的額外屬性,用於在同乙個擴充套件點實現之間進行區分。擴充套件必須在外掛程式內部進行定義。
3、外掛程式 ( plugin )
外掛程式實際就是乙個虛擬的容器,包含了多個擴充套件 extension、依賴外掛程式 requireplugins 和自身發布的庫runtime,外掛程式可以被啟動或者停止。
nutch 為了擴充套件,預留了很多擴充套件點 extenstionpoint,同時提供了這些擴充套件點的基本實現 extension,plugin用來組織這些擴充套件,這些都通過配置檔案進行控制,主要的配置檔案包括了多個定義擴充套件點和外掛程式(擴充套件)的配置檔案,乙個控制載入哪些外掛程式的配置檔案。體系結構圖如下:
二、外掛程式的內部結構 ,如下圖:
1. runtime 屬性描述了其需要的jar包和發布的jar包
2. requires 屬性描述了依賴的外掛程式
3. extension-point 描述了本外掛程式宣布可擴充套件的擴充套件點
4. extension 屬性則描述了擴充套件點的實現
DISCUZ 外掛程式機制
1 參考 2 由第一點中的官方提供的參考庫可以基本可以了解怎麼去開發乙個外掛程式。這裡簡述幾點重要的 一 配置檔案中config global.php中加上 config plugindeveloper 1 就可以在後台 應用 外掛程式 中設計新外掛程式。將上述變數中的值設定成為2,就可以看disc...
jQuery 外掛程式機制
簡介 利用jquery提供的 fn.extend 和 extend 方法,擴充套件 extend 擴充套件jquery的類方法 作用 1.合併物件 var a var b 後面加到前面,屬性相同的後面覆蓋前面的屬性 console.log extend a,b 2.擴充套件jquery類方法 var...
jQuery外掛程式機制
為了擴充套件jquery庫函式,jquery提供了兩種方式 jquery.extend object 擴充套件jquery物件本身,主要是用來擴充套件jquery全域性函式 呼叫時直接 函式名 引數 如下例子 jquery.fn.extend object 擴充套件 jquery 元素集,主要用於擴...