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


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


    網站導航:
     

    導航

    統計

    常用鏈接

    留言簿(2)

    隨筆檔案

    文章分類

    文章檔案

    搜索

    最新評論

    閱讀排行榜

    評論排行榜

    主站蜘蛛池模板: 亚洲高清国产AV拍精品青青草原| 亚洲AV成人潮喷综合网| 亚洲av永久无码精品国产精品| 黄页网址在线免费观看| 全部免费国产潢色一级| 亚洲av无码专区亚洲av不卡| 精品国产一区二区三区免费看 | 亚洲AV人人澡人人爽人人夜夜| A国产一区二区免费入口| 亚洲天堂在线视频| 免费国产污网站在线观看| 亚洲天堂一区二区| 日本最新免费网站| 亚洲欧美aⅴ在线资源| 国产猛烈高潮尖叫视频免费| 性生大片视频免费观看一级| 亚洲va久久久噜噜噜久久狠狠| 亚洲免费视频观看| 亚洲国产日韩精品| 亚洲AV无码之日韩精品| 免费看成人AA片无码视频吃奶| 亚洲妓女综合网99| 国产成人涩涩涩视频在线观看免费| 一级毛片视频免费| 精品无码一区二区三区亚洲桃色| 毛色毛片免费观看| h视频免费高清在线观看| 久久精品国产亚洲77777| 免费观看的a级毛片的网站| 中国一级全黄的免费观看| 亚洲色图.com| 亚洲AV无码乱码在线观看性色扶| 无码AV片在线观看免费| 亚洲AV成人精品一区二区三区| 中文字幕久久亚洲一区| 成年在线观看网站免费| 一边摸一边桶一边脱免费视频| 亚洲男人天堂影院| 亚洲国产精品尤物yw在线| 18成禁人视频免费网站| 一级午夜免费视频|