label = "${res:XML.MainMenu.RunMenu.CompileAll}"

class = "ICSharpCode.SharpDevelop.Commands.CompileAll"/>

...

這個擴(kuò)展點中定義了三個菜單項,以及各個菜單項的名字、標(biāo)簽和實現(xiàn)的類名。這里的Codon就對應(yīng)于系統(tǒng)中的MenuCodon對象。

Command 命令

正如前文所述,Codon描述了一個功能模塊,而每個功能模塊都是一個 ICommand 的實現(xiàn)。最基本的 Command 是 ?AbstractCommand,根據(jù)Codon的不同對應(yīng)了不同的 Command。例如 MenuItemCodon 對應(yīng) MenuItemCommand 等等。

Service 服務(wù)

插件系統(tǒng)中,有一些功能是整個系統(tǒng)都要使用的,例如文件訪問、資源、消息等等。

這些功能都作為插件系統(tǒng)的一個基本功能為整個系統(tǒng)提供服務(wù)

我們就叫“服務(wù)”好了。為了便于訪問,這些服務(wù)都統(tǒng)一通過 ServiceManager來管理。其實服務(wù)也是一種類型的插件,它們的擴(kuò)展點路徑在目錄樹中的 /Workspace/Services 中。

理解了這幾個基本的概念之后,就可以看看 SharpDevelop 的代碼了。從 src/main/startup.cs 看起吧,之后是addin.cs、addinTree.cs 等等。?

更多>> 軟件截圖

推薦應(yīng)用

其他版本下載

精品推薦

相關(guān)文章

下載地址

查看所有評論>> 網(wǎng)友評論

發(fā)表評論

(您的評論需要經(jīng)過審核才能顯示) 網(wǎng)友粉絲QQ群號:374962675

查看所有 0條 評論>>

更多>> 猜你喜歡