在討論Xerdoc DSearch的架構(gòu)的時候,我們就討論決定采用Eclipse Plugin Framework,可惜那時Eclipse Plugin Framework和SWT以及其它耦合比較大,因此,決定借鑒Eclipse Plugin Framework的思想,來實現(xiàn)一個自己的輕量級的Plugin Framework。
一晃已經(jīng)過去快一年了,其實非常早就想把自己研究Eclipse Plugin Framework的心得寫下來,米嘉也一再催促,不過一直比較懶,覺著這個題目實在要寫的太多,于是一直拖著。后來想想,真的應(yīng)該早點兒把自己的一些粗糙想法寫出來,即是對自己的一個總結(jié),也能對其他人有些幫助。
Eclipse Plugin Framework是一套非常成功的插件框架結(jié)構(gòu),它的架構(gòu)師之一就是鼎鼎大名的Erich Gamma,設(shè)計模式的作者之一。Eclipse JDT就是架構(gòu)在這個插件平臺上的一個杰出的Java IDE。Eclipse 良好的插件架構(gòu)也形成了很好的"An architecture of participation",你可以在Eclipse的社區(qū)中找到各種各樣的插件,這些插件又極大的擴(kuò)充了Eclipse的功能,提高了易用性。
記著候捷在寫《深入淺出MFC》的時候,用很簡單甚至粗糙的一些例子來模仿MFC內(nèi)部的行為(比如消息循環(huán)等),效果非常好。我也想用一些Xerdoc DSearch中的代碼來模仿一下Eclipse的插件架構(gòu)。
注:這里所指的Eclipse Plugin Framework的Codebase是
1) 插件清單
Eclipse中的插件都用XML文件來進(jìn)行描述,比如:
1. <?xml version="1.0" encoding="utf-8"?>
2. <plugin id="org.eclipse.pde.source" name="%pluginName" version="
3. <runtime></runtime>
4. <extension point="org.eclipse.pde.core.source">
5. <location path="src"> </location>
6. </extension>
感谢您访问我们的网站,您可能还对以下资源感兴趣: