<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    yangbutao

     

    淺析擴展點(Extension Point)

     

    淺析擴展點(Extension Point

     

    一、概述

    擴展(Extension)是很多可擴展項目中一個關鍵的機制,可以利用擴展向平臺添加新功能。但是擴展不能隨意地創建,必須按照擴展點(Extension Point)定義的規范進行明確的聲明,平臺才能識別出這些擴展。所謂擴展點,就是系統定義出來可以讓你擴展的地方,可以認為是一些擴展的契約,而擴展,這是你對這些擴展點的實現,當然你自己的插件也可以定義擴展點供別的開發人員擴展。

    下面是擴展點的概念圖

    二、Eclipse中的應用

    對于擴展,Eclipse采用Extension Point的方式來實現,每個Plugin可定義自己的Extension Point,同時也可實現其他PluginExtension Point,在Eclipse中通過在plugin.xml中進行描述,描述的方法為通過的形式來定義Plugin的擴展點,通過的形式來定義實現的其他Plugin的擴展點,所提供的擴展點通過schema的方式進行描述,詳細見eclipse extension-point schema規范,為了更好的說明擴展點這個概念,舉例如下,如工具欄就是工具欄Plugin提供的一個擴展點,其他的Plugin可通過此擴展點添加按鈕至工具欄中,并可相應的添加按鈕所對應的事件(當然,此事件必須實現工具欄Plugin此擴展點所要求的接口),工具欄的Plugin將通過callback的方式來相應的響應按鈕的動作。可見通過Extension Point的方式可以很好的提供Plugin的擴展方式以及實現擴展的方式。

    Eclipse中的extension point

    <extension

             id="com.primeton.studio.builder"

             name="EOSBuilder"

             point="org.eclipse.core.resources.builders">

    可以在這里自由的按照定義的xsd,實現擴展點

    <extension/>

    平臺會在啟動的過程中,注冊各個擴展點(IExtension point),及擴展點的實現(IExtension),

    運行時,由主線解析IExtension,回調擴展點的實現,當然擴展實現必須遵循擴展點的接口契約。

    三、tuscany sca容器中的應用

    tuscany中對SCA擴展機制包含了4個方面的擴展,有implementaion擴展,binding擴展,interface擴展,databinding擴展。由此來支持sca對不同協議,實現,不同訪問接入方式。

    Ø         擴展點StAXArtifactProcessorExtensionPoint:產生靜態組裝信息的擴展點

    composite模型的組裝階段,,這里有4個上面定義的擴展,在此基礎上,用戶的擴展實現遵循標準契約,通過實現相應的契約,由系統對契約的實現做回調,來組裝成完整的composite對象模型。

    Ø         擴展點ProviderFactoryExtensionPoint:產生運行時(runtime)信息的擴展點

    composite的模型的激活階段,生成運行時的信息。實現類似于組裝時的擴展。

    以上的過程都是一次載入的,為了節省啟動的時間,可以用懶加載來實現,composite的激活可以放在用戶調用階段。

    ProviderFactoryExtensionPoint定義的契約如下圖所示:

    posted on 2007-09-27 09:09 阿不 閱讀(12002) 評論(0)  編輯  收藏


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 国产极品美女高潮抽搐免费网站| 四虎www免费人成| 精品亚洲综合久久中文字幕| 四虎影院免费视频| 亚洲伦理中文字幕| 毛片在线免费视频| 亚洲GV天堂GV无码男同| 国产性生交xxxxx免费| 日日狠狠久久偷偷色综合免费 | 男女啪啪永久免费观看网站| 中文字幕在线日亚洲9| 国产精品免费看香蕉| 麻豆安全免费网址入口| 久久精品国产亚洲精品| 2019亚洲午夜无码天堂| 成人片黄网站色大片免费| 国产成人精品日本亚洲语音| 7m凹凸精品分类大全免费| 亚洲高清最新av网站| 中国毛片免费观看| 日韩精品视频免费网址| 黄网站色成年片大免费高清| 亚洲精品乱码久久久久久按摩| 99久久精品免费精品国产| 亚洲色图综合在线| 亚洲午夜福利在线视频| 全部免费国产潢色一级| 中国一级特黄高清免费的大片中国一级黄色片 | 亚洲国产区男人本色在线观看| 国产精品色午夜视频免费看| 国产VA免费精品高清在线| 国产一区二区三区在线观看免费| 午夜免费国产体验区免费的| 亚洲AV无码专区亚洲AV伊甸园| 国产成人免费午夜在线观看| 国产成人亚洲精品播放器下载 | 综合亚洲伊人午夜网 | 中国一级特黄高清免费的大片中国一级黄色片 | 久久精品亚洲一区二区三区浴池| 久草免费福利资源站| 中文亚洲AV片不卡在线观看|