<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 阿不 閱讀(11986) 評論(0)  編輯  收藏


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


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲av日韩片在线观看| 亚洲AV无码一区二区三区人| 永久免费AV无码国产网站 | 亚洲人成网77777色在线播放| 免费影院未满十八勿进网站| 久久精品国产这里是免费| 手机永久免费的AV在线电影网| 91嫩草亚洲精品| 亚洲高清视频在线播放| 午夜色a大片在线观看免费| 69pao强力打造免费高清| 韩日电影在线播放免费版| 羞羞视频免费网站入口| 亚洲欧美不卡高清在线| 亚洲91精品麻豆国产系列在线| 日韩成人精品日本亚洲| 亚洲日韩精品国产3区| sss日本免费完整版在线观看| 特黄特色大片免费| 午夜免费啪视频在线观看 | 久久亚洲免费视频| 久久久久亚洲精品天堂久久久久久| 日本19禁啪啪无遮挡免费动图| 在线观看视频免费完整版| 无码国产亚洲日韩国精品视频一区二区三区| 亚洲精品无码av人在线观看| 亚洲精品美女久久777777| 亚洲伊人久久大香线蕉在观| 免费人妻精品一区二区三区| 51午夜精品免费视频| 99久久99这里只有免费费精品 | 亚洲午夜精品一级在线播放放| 亚洲?v无码国产在丝袜线观看| 久久精品国产亚洲麻豆| 无码乱人伦一区二区亚洲一 | 亚洲AV无码专区在线亚| 久久av免费天堂小草播放| 手机看片国产免费永久| 在线观看人成网站深夜免费| 亚洲av无码专区在线播放| 亚洲中字慕日产2021|