亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 學院 > 開發設計 > 正文

CTK框架介紹

2019-11-10 17:06:05
字體:
來源:轉載
供稿:網友

轉(http://blog.csdn.net/xinqidian2015/article/details/50537325)

CTK插件框架可以簡單的描述為C++的動態組件系統

DesignCTK插件框架的設計有很大的靈感來自OSGi并且使得應用程序由許多不同的組件組合成一個可擴展模型。這個模型允許通過那些組件間共享對象的服務通信。

框架的分層模型被展示在圖片1中包括:

Plugins--插件是開發者創建的CTK組件Services Layer--用動態的方式連接插件通過提供為C++對象提供一個發布-查找-綁定模型。Life Cycle Layer--install,start,stop,update和uninstall插件的API.Security--處理安全方面(還不能使用)更多的這些概念的細節解釋可以在下面找到。PluginsCTK插件是他的核心,一個基于Qt Plugin系統的共享庫。另外在CTK庫中默認被隱藏的符號跨所有平臺。第一步模塊化是關于那些保持局部并且不共享。你共享的東西越少,需要做的錯誤假設就越少。然而,沒有分享就沒有合作。CTK插件通常值共享符號(類和函數)來支持CTK的服務模型。Services一個在C++中的協作模型通常會使用工廠模式。不同的工具包使用不同的模式和API來訪問這樣的工廠。通常,決定使用哪種工廠實現是重要的。更進一步來說,代碼實現通常不能宣傳它的實用性,也不能宣傳用戶列表可能的實現和挑選最合適的那個。工廠一般不是動態的,一旦一個實現的實例被注冊,它不能撤回。最終地,如果很多不同的工廠在使用中,沒有集中概述你代碼綁定的實現。這些問題的一種解決方案是CTK服務注冊.一個插件可以創建一個對象并且使用CTK服務在一個或多個接口中注冊它。另外的插件可以向registry要求所有的使用特定接口注冊的服務列表。一個插件甚至可能等待一個特殊的服務出現然后回調。

因此一個插件可以注冊一個服務,它可以獲取一個服務并且也可以監聽直到一個服務出現或者消失。任意數量的插件可以使用相同的接口注冊服務并且任何數量的插件都可以獲取相同名字的服務看圖片2.

如果多個插件用相同的接口注冊對象,它們可以用屬性來區分。每一個服務注冊有一組標準和自定義的屬性。你可以使用一個語言表達式過濾器來篩選你感興趣的服務。屬性可以被其他角色使用在應用程序級別。由于服務是動態的,一個插件可以決定從注冊表中撤銷它的服務當其他插件還在使用的時候。使用這樣一個服務的插件必須確保她們不再使用服務對象并且丟棄任何指向它的指針。這可能聽起來像一個很大的額外的復雜性但是使用幫助累比如ctkServiceTracker并且一個像Declarative Services的框架可以使得這個過程簡單并且獲取很大的優勢。服務的動態特性允許安裝和卸載插件而其他插件保持功能。它也可以模擬真實世界的問題這樣的問題不是靜態的。例如在一個分布式的環境中一個服務可能模擬一個終端的連接并且如果連接到遠程機器,服務將被撤銷。更進一步,動態解決了初始化問題。使用CTK插件的應用程序不需要一個指定的開始順序在它們的插件中。盡管service registry接受任何基于QObject的對象作為服務,實現重用的最好的辦法是使用標準接口注冊這些對象從客戶端代碼中實現解耦。因此CTK插件框架提供了許多標準接口被設計的接近在OSGi中發布的服務規范。這些標準的服務細節在規范和wiki中描述。DeploymentCTK插件框架也可以被用來作為你應用程序邏輯的主要容器,但是它也可以嵌入到你已存在的框架中??蚣艿墓芾硗ㄟ^提供簡單的API來標準化,允許插件install,start,stop和update其他插件,也可以枚舉插件和它們服務的用法。API也可以通過所謂的management agents來控制插件框架。管理代理可以和命令行,圖形桌面應用或者Ajax應用一樣。BenfitsCTK插件框架基于OSGi的原則和API。同樣地它繼承了一個非常成熟的和完全被設計的組件系統被用來在java世界中創建高度復雜的應用。它也帶有基于Qt的C++程序的優勢。下面列表獲取自使用OSGi的好處和使用CTK的上下文。Reduced Complexity降低復雜度用CTK插件框架開發意味著開發插件。它們從其他插件隱藏內部并且通過定義好的服務交流。隱藏內部意味著之后有更多改變的自由。這不僅減少了bug數量也使得插件開發更簡單因為正確的插件實現一塊功能通過定義好的接口。Reuse標準化的組件模型使得它更容易使用第三方的組件。Real WorldCTK插件框架是動態的。它可以更新插件并且服務來去自如。有數量驚人的真實世界場景匹配這個動態服務模型。應用程序可以復用這個強大的service registry在它們自己的領域內。這不僅節省編寫代碼,它也提供了全局的可見性,調試工具和更多的功能比起一個專門的解決方案。在這樣一個動態化境中編寫代碼聽起來就像噩夢但是幸運地是這有支持的類和框架可以免除即使不是全部也是大部分。Easy DeploymentCTK插件框架不僅僅是一個標準的組件,也指定了組件如何被安裝和管理??梢酝ㄟ^插件使用API來提供一個管理代理。這個管理代理可以像命令行,圖形桌面應用,一個Amazon的EC2W云計算接口,或者一個IBM Tivoli管理系統。標準化的管理API使得在現有和未來的系統集成CTK插件框架變得很容易。Dynamic Updates動態更新使用的OSGi組件模型是一個動態模型。插件被安裝,啟動,停止,更新和卸載而不用降低整個系統。Adaptive使用的OSGi組件模型被設計來自底層允許混合和匹配組件。這要求組件的依賴關系需要被指定并且它需要生活在一個環境中,他們的可選組件依賴關系并不總是可用的。服務注冊表是一個動態的插件注冊表,獲取和監聽服務。這種動態服務模型允許插件發現在系統中什么功能可以被使用和適應它們提供的功能。這使得代碼更靈活并且更易于改變。Transparency插件和服務是一等公民在CTK插件環境中。管理API提供了訪問插件內部狀態還有如何跟其他插件連接。部分應用程序可以被停止來調試一個特定的問題或者診斷被帶來的插件。Versioning在CTK插件框架中所有的插件都有版本號并且只有插件,可以連接在一起合作SimpleCTK插件API是十分簡單的。核心API少于25個類。核心API是足夠的對寫插件,安裝它們,啟動,停止,更新和卸載它們并且包含了所有的監聽類。Lazy在軟件中lazy是好的并且OSGI使用的技術有很多機制只有在需要的時候才做。例如插件可以被啟動但是她們也可以被配置只有當其他插件使用它們的時候再啟動。服務可以被注冊但是只有它們被使用的時候才創建。這些lazy場景可以節省巨大的運行成本HumbleCTK插件框架不接管你的整個程序.乜可以選擇暴露提供功能只是你程序的一部分,或者甚至運行多個框架實例在相同的進程中。Non Intrusive在CTK插件環境中的應用程序被留給它們自己。她們可以使用任何功能沒有框架限制它們。對CTK服務沒有特殊的接口要求,每一個QObject可以充當一個服務并且每個類都可以充當一個接口。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
日本午夜在线亚洲.国产| 亚洲福利视频免费观看| 亚洲国产精品美女| 欧美激情视频一区二区三区不卡| 欧美国产视频日韩| 亚洲欧美在线一区二区| 亚洲3p在线观看| 欧美国产精品va在线观看| 日韩亚洲欧美中文在线| 亚洲一区二区三区在线视频| 亚洲一级黄色片| 久久久精品免费| 精品亚洲一区二区三区四区五区| 欧美日韩国产成人高清视频| 精品福利在线看| 日韩欧美在线字幕| 隔壁老王国产在线精品| 亚洲精品视频网上网址在线观看| 日韩最新在线视频| 国产精品91在线观看| 最新亚洲国产精品| 亚洲男人天堂网站| 国产精品视频久久久久| 亚洲精品美女久久| 久久国产精品视频| 国产99久久久欧美黑人| 91丝袜美腿美女视频网站| 色综合久综合久久综合久鬼88| 精品国产精品三级精品av网址| 亚洲人成伊人成综合网久久久| 国产精品久久久久国产a级| 成人亚洲激情网| 午夜精品一区二区三区在线视频| 国产精品免费网站| 色综合久久久久久中文网| 在线中文字幕日韩| 精品亚洲一区二区三区四区五区| 亚洲无av在线中文字幕| 欧美日韩国产一区在线| 久久久女人电视剧免费播放下载| 亚洲精品日韩丝袜精品| 国产精品免费久久久久久| 亚洲伊人一本大道中文字幕| 亚洲自拍偷拍一区| 奇米四色中文综合久久| 最近日韩中文字幕中文| 欧美国产亚洲精品久久久8v| 亚洲欧洲xxxx| 国产一区二区黑人欧美xxxx| 亚洲精品久久久久久久久| 日韩视频在线免费| 精品久久香蕉国产线看观看gif| 国产精欧美一区二区三区| 国产伦精品免费视频| 九九热视频这里只有精品| 欧美在线观看视频| 性欧美办公室18xxxxhd| 国产精品免费久久久久影院| 欧美电影免费观看网站| www.久久久久| 亚洲成成品网站| 欧美放荡办公室videos4k| 亚洲精品成人网| 欧美日本黄视频| 久久免费观看视频| 美女999久久久精品视频| 欧美性受xxxx白人性爽| 亚洲人永久免费| 69av在线播放| 日韩av在线网址| 国产91网红主播在线观看| 亚洲精品免费在线视频| 日本一区二区三区在线播放| 成人国产精品久久久| 欧美性生活大片免费观看网址| 91爱视频在线| 欧美在线播放视频| 国产一区二区视频在线观看| 国产成人+综合亚洲+天堂| 啊v视频在线一区二区三区| 亚洲毛片在线观看.| 国产精品96久久久久久| 久久精品免费播放| 欧美激情乱人伦| 国产69精品久久久| 91精品国产高清久久久久久| 亚洲91av视频| 国产精品久久久一区| 亚洲伊人第一页| 日韩国产精品视频| 国产在线高清精品| 久久久999精品免费| 成人在线视频网站| 热久久美女精品天天吊色| 国产xxx69麻豆国语对白| 97在线视频国产| 中文字幕av一区| 国产精品视频26uuu| 亚洲黄色成人网| 亚洲精品在线91| 亚洲精品国产品国语在线| 欧美一级视频免费在线观看| 日本三级久久久| 亚洲成年人在线| 国产精品久久97| 亚洲精品美女在线观看| 久久激情视频免费观看| 国产不卡av在线免费观看| 全亚洲最色的网站在线观看| 亚洲丝袜在线视频| 91久久精品在线| 国产在线视频不卡| 国产精品高清在线观看| 亚洲综合中文字幕在线| 亚洲一区二区三区香蕉| 国产中文字幕日韩| 国产精品一区专区欧美日韩| 国产精品吹潮在线观看| 国产精品久久久久久久久久久久| 成人a免费视频| 国产一区二区欧美日韩| 亚洲情综合五月天| 国产精品欧美日韩| 欧美精品www在线观看| 成人精品久久久| 操人视频在线观看欧美| 亚洲激情在线视频| 亚洲精品美女网站| 亚洲成人久久电影| 久久久在线观看| 国产精品视频自在线| 国产精品88a∨| 亚洲成人a**站| 成人午夜小视频| 韩剧1988在线观看免费完整版| 欧美成人午夜剧场免费观看| 久久91亚洲精品中文字幕奶水| 欧美精品少妇videofree| 欧美裸体xxxxx| 日本91av在线播放| 亚洲精品日韩丝袜精品| 亚洲美女又黄又爽在线观看| 不卡av日日日| 黄网站色欧美视频| 国产在线98福利播放视频| 秋霞av国产精品一区| 精品国产一区二区三区久久| 日av在线播放中文不卡| 久久久久www| 国产精品久久久久久久久久久久久| 亚洲欧洲在线看| 91国内揄拍国内精品对白| 久久精品视频亚洲| 日本不卡高字幕在线2019| 一区二区三区高清国产| 日韩美女视频在线观看| 激情亚洲一区二区三区四区| 亚洲爱爱爱爱爱| 亚洲社区在线观看| 成人免费大片黄在线播放| 欧美刺激性大交免费视频| 亚洲欧美色婷婷| 日韩av电影在线免费播放| 欧美电影院免费观看|