亚洲成年人黄色一级片,日本香港三级亚洲三级,黄色成人小视频,国产青草视频,国产一区二区久久精品,91在线免费公开视频,成年轻人网站色直接看

一種構(gòu)件化軟件系統(tǒng)中動(dòng)態(tài)自動(dòng)適配的編程系統(tǒng)及方法

文檔序號(hào):6561163閱讀:258來(lái)源:國(guó)知局
專利名稱:一種構(gòu)件化軟件系統(tǒng)中動(dòng)態(tài)自動(dòng)適配的編程系統(tǒng)及方法
技術(shù)領(lǐng)域
本發(fā)明涉及計(jì)算機(jī)技術(shù)領(lǐng)域中嵌入式開(kāi)發(fā)里應(yīng)用CAR(Component Assembly Run-Time,零部件運(yùn)行單元)構(gòu)件技術(shù)和MVC模式,尤其涉及一種 動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng)及實(shí)現(xiàn)方法。
背景技術(shù)
目前,動(dòng)態(tài)自動(dòng)適配技術(shù)開(kāi)發(fā)思想在桌面應(yīng)用上已經(jīng)得到了較廣的應(yīng) 用,如Mozilla的XUL, Microsoft的XAML等。其中XUL(XML User-interface Language)是Mozilla組織研發(fā)的跨平臺(tái) 的描述應(yīng)用的語(yǔ)言;它專注于Mozilla瀏覽器中應(yīng)用的開(kāi)發(fā),底層依賴于 Mozilla中的XPCOM技術(shù)(類(lèi)似于微軟的COM ) 。 XAML(extensible Application Markup Language)貝U是Microsoft新一代操作系統(tǒng)Vista中開(kāi) 發(fā)應(yīng)用的主要技術(shù)之一;它與Vista中的WinFX技術(shù)直接集成在一起,主要 用來(lái)編寫(xiě)Vista中應(yīng)用程序的用戶界面。發(fā)明內(nèi)容本發(fā)明要解決的技術(shù)問(wèn)題是提供一種動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng)及 實(shí)現(xiàn)方法,為嵌入式應(yīng)用的開(kāi)發(fā)提供了新的方式。為解決上述技術(shù)問(wèn)題,本發(fā)明提供了一種動(dòng)態(tài)自動(dòng)適配技術(shù)編程系 統(tǒng),包括最外層即Runtime系統(tǒng),負(fù)責(zé)初始化和釋放所述動(dòng)態(tài)自動(dòng)適配 技術(shù)系統(tǒng)應(yīng)用所需資源;內(nèi)部頂層,提供腳本語(yǔ)言及其配套設(shè)施;SCI (Script Callable Interface腳本可調(diào)用接口)層,用于調(diào)用構(gòu)件類(lèi)實(shí)
例的成員方法,可封裝構(gòu)件類(lèi)實(shí)例,并將腳本參數(shù)轉(zhuǎn)換為構(gòu)件參數(shù);構(gòu)件 技術(shù)層,可提供服務(wù);其中SCI層用于腳本語(yǔ)言與構(gòu)件系統(tǒng)間通信。本發(fā)明還提供了一種動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng)實(shí)現(xiàn)方法,運(yùn)用上述動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng)上,基于CAR構(gòu)件技術(shù)基礎(chǔ)上,使CAR構(gòu)件系 統(tǒng)支持Model;腳本語(yǔ)言支持View,動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng)實(shí)現(xiàn) Controller的構(gòu)件組裝;其中構(gòu)件組裝包括如下步驟a.腳本發(fā)起調(diào)用; b. SCI層中通過(guò)SCIModule或者SCIObjectFactory獲取相應(yīng)構(gòu)件模塊, 創(chuàng)建腳本所請(qǐng)求的構(gòu)件實(shí)例,并封裝成SCIObject; c. SCIObject使用 Script Adapter (腳本適配器)進(jìn)行腳本弱類(lèi)型參數(shù)向CAR構(gòu)件系統(tǒng)強(qiáng)類(lèi)型 參數(shù)的轉(zhuǎn)換;d. SCIObject向?qū)嶋H的構(gòu)件實(shí)例發(fā)起調(diào)用請(qǐng)求;e.構(gòu)件實(shí) 例的方法運(yùn)行結(jié)束并返回;f. SCIObject調(diào)用Script Adapter將返回值 進(jìn)行相應(yīng)的封裝,提供給腳本語(yǔ)言;g.腳本語(yǔ)言通過(guò)Script Adapter 獲取返回值,完成本次調(diào)用。XML-Glue,是一種構(gòu)件化軟件系統(tǒng)中的動(dòng)態(tài)自動(dòng)適配的編程系統(tǒng),該 系統(tǒng)支持XML,腳本語(yǔ)言和構(gòu)件之間進(jìn)行相互操作,采用MVC模式分離應(yīng) 用界面和邏輯的實(shí)現(xiàn),使得應(yīng)用程序開(kāi)發(fā)簡(jiǎn)單快捷;由于XML和腳本皆可 由服務(wù)器動(dòng)態(tài)生成,在網(wǎng)絡(luò)環(huán)境下,則利用XML和腳本語(yǔ)言的動(dòng)態(tài)靈活的 特點(diǎn)可以進(jìn)行無(wú)縫計(jì)算,讓?xiě)?yīng)用隨需應(yīng)變。本發(fā)明通過(guò)使用XML/JavaScript來(lái)描述應(yīng)用的UI (用戶界面,User Interface),而由CAR構(gòu)件來(lái)完成應(yīng)用的邏輯,然后由XML-Glue來(lái)完成 二者的拼裝,并形成一個(gè)完整的應(yīng)用。本發(fā)明簡(jiǎn)單易用、易于維護(hù)并具有 很好的擴(kuò)展能力可提高開(kāi)發(fā)人員開(kāi)發(fā)效率。


圖1是本發(fā)明XML-Glue編程系統(tǒng)架構(gòu)圖;圖2是本發(fā)明XML-Glue編程系統(tǒng)中構(gòu)件組裝實(shí)現(xiàn)機(jī)制圖;圖3本發(fā)明運(yùn)行效果圖;圖4是XML-Glue中的MVC框架模型。
具體實(shí)施方式
下面結(jié)合附圖及具體實(shí)施例對(duì)本發(fā)明作進(jìn)一步詳細(xì)的說(shuō)明。 實(shí)施例首先講述本發(fā)明的原理本發(fā)明中的動(dòng)態(tài)自動(dòng)適配技術(shù)編程技術(shù),體 現(xiàn)為XML-Glue編程技術(shù),是嵌入式操作系統(tǒng)上一個(gè)Rich Client應(yīng)用的 MVC (Model-View-Controller,模型-視圖-控制器)開(kāi)發(fā)框架,其核心的 技術(shù)是基于CAR (Component Assembly Run-Time,零部j牛運(yùn)行單元)構(gòu)件 技術(shù)發(fā)展起來(lái)的。XML-Glue的核心思想是使用XML/JavaScript來(lái)描述應(yīng) 用的UI (用戶界面,User Interface),而由CAR構(gòu)件來(lái)完成應(yīng)用的邏輯, 然后由XML-Glue來(lái)完成二者的拼裝,并形成一個(gè)完整的應(yīng)用,如圖4所 示為XML-Glue中的MVC框架模型。它對(duì)外提供了 XML-Glue應(yīng)用的運(yùn)行環(huán) 境以及多種腳本語(yǔ)言來(lái)使開(kāi)發(fā)人員更方便快捷的開(kāi)發(fā)應(yīng)用,對(duì)內(nèi)則在腳本 語(yǔ)言和CAR構(gòu)件系統(tǒng)之間搭起了通信的橋梁,實(shí)現(xiàn)了以腳本方式完成構(gòu)件 組裝。所謂MVC是Mode1-View-Controller的縮寫(xiě),是國(guó)外用得比較多的 一種設(shè)計(jì)模式為了獲得更好的系統(tǒng)結(jié)構(gòu)而推出的一種宏觀的設(shè)計(jì)模式,模 式(Model)代表系統(tǒng)的模型層,視圖(View)是模型的展現(xiàn)層,控制器 (Controller)負(fù)責(zé)業(yè)務(wù)的流轉(zhuǎn),使用MVC可以使得系統(tǒng)的層次清晰,降低
各個(gè)部分的耦合。MVC包括三類(lèi)對(duì)象Model是應(yīng)用對(duì)象是數(shù)據(jù)與業(yè)務(wù)邏 輯元件,封裝的是數(shù)據(jù)源和所有基于對(duì)這些數(shù)據(jù)的操作;View是表示元 件,也稱為用戶接口元件,封裝的是對(duì)數(shù)據(jù)源Model的一種顯示, 一個(gè)模 式可以用于多個(gè)視圖,View是它在屏幕上的表示;Controller定義用戶 界面對(duì)用戶輸入的響應(yīng)方式,是響應(yīng)用戶輸入的元件,封裝的是外界作用 于模型的操作,控制器將用戶接口轉(zhuǎn)化為模式的變化,并定義用戶接口對(duì) 這些事件的響應(yīng)方法。用戶接口可包括處理多種協(xié)議的操作,如HTTP、 WAP等。完整的XML-Glue系統(tǒng)架構(gòu)可以表示為圖1,其中1) 最外層是XML-Glue運(yùn)行環(huán)境(Runtime),負(fù)責(zé)初始化和釋放 XML-Glue應(yīng)用所需資源。2) 內(nèi)部頂層提供腳本語(yǔ)言及其配套設(shè)施,比如腳本與CAR構(gòu)件方法調(diào) 用之間參數(shù)類(lèi)型的互相轉(zhuǎn)換機(jī)制,XML與其它腳本語(yǔ)言之間的數(shù)據(jù)共享; 這一層相當(dāng)于提供了對(duì)MVC中View的支持。它又包括如下幾部分XML/JavaScript/Other Scripts提供了多種描述XML-Glue應(yīng)用的形 式,讓開(kāi)發(fā)人員能夠靈活利用各種腳本語(yǔ)言的優(yōu)勢(shì);Script Adapter是各個(gè)腳本語(yǔ)言中實(shí)現(xiàn)了 ISCIParameterNormalizer 接口的構(gòu)件(稱為SCIParamConvertor)的總稱,這些構(gòu)件負(fù)責(zé)將其對(duì)應(yīng) 腳本代碼中弱類(lèi)型的方法參數(shù)轉(zhuǎn)換為CAR構(gòu)件方法中的強(qiáng)類(lèi)型的參數(shù),而 在構(gòu)件方法返回的時(shí)候?qū)⒎祷刂捣庋b成腳本可識(shí)別的數(shù)據(jù)類(lèi)型;Error Interpreter (錯(cuò)誤翻譯器)是每種腳本語(yǔ)言中負(fù)責(zé)翻譯調(diào)用 構(gòu)件方法的出錯(cuò)信息的翻譯器的總稱,它將CAR構(gòu)件中的方法調(diào)用發(fā)生錯(cuò)
誤后返回的HRESULT值翻譯成文本,并以腳本語(yǔ)言特定的錯(cuò)誤機(jī)制(如 JavaScript中的異常)通知給開(kāi)發(fā)和使用人員。3) SCI (Script Callable Interface)是腳本語(yǔ)言與CAR構(gòu)件系統(tǒng)通 信的橋梁。這一層相當(dāng)于提供了對(duì)MVC中Controller的支持,在組裝機(jī) 制實(shí)現(xiàn)一節(jié)會(huì)詳細(xì)敘述。4) CAR構(gòu)件系統(tǒng)。是服務(wù)的提供者。這一層相當(dāng)于提供了對(duì)MVC中 Model的支持。在利用上述XML-Glue系統(tǒng)進(jìn)行開(kāi)發(fā)時(shí),Model由CAR構(gòu)件系統(tǒng)支持, View由腳本語(yǔ)言支持,作為Controller的構(gòu)件組裝則是XML-Glue的核 心工作。XML-Glue利用腳本語(yǔ)言的眾多優(yōu)點(diǎn),實(shí)現(xiàn)了一種新的適合于嵌 入式系統(tǒng)的構(gòu)件組裝機(jī)制,使得應(yīng)用開(kāi)發(fā)方便快捷。圖2所示過(guò)程描述了 XML-Glue中的構(gòu)件組裝機(jī)制的實(shí)現(xiàn)過(guò)程a. 腳本發(fā)起調(diào)用;b. SCI通過(guò)SCIModule或者SCIObjectFactory獲取相應(yīng)的構(gòu)件模 塊,并創(chuàng)建腳本所請(qǐng)求的構(gòu)件實(shí)例,封裝成SCIObject;c. SCI0bject使用Script Adapter進(jìn)行腳本弱類(lèi)型參數(shù)向構(gòu)件強(qiáng) 類(lèi)型參數(shù)的轉(zhuǎn)換;d. SCI0bject向?qū)嶋H的構(gòu)件實(shí)例發(fā)起調(diào)用請(qǐng)求;e. 構(gòu)件實(shí)例的方法運(yùn)行結(jié)束并返回;f. SCI0bject調(diào)用Script Adapter將返回值進(jìn)行相應(yīng)的封裝,提 供給腳本語(yǔ)言;g. 腳本語(yǔ)言通過(guò)Script Adapter獲取返回值,完成調(diào)用。
要實(shí)現(xiàn)這一機(jī)制關(guān)鍵是解決腳本與構(gòu)件間的交互問(wèn)題。從圖1可以看 出,SCI處于腳本語(yǔ)言與構(gòu)件系統(tǒng)之間,是腳本語(yǔ)言與構(gòu)件系統(tǒng)通信的橋梁。SCI最主要的功能是調(diào)用構(gòu)件類(lèi)實(shí)例的成員方法,所以其主要工作除了封裝構(gòu)件類(lèi)實(shí)例外,就是將腳本參數(shù)轉(zhuǎn)換為構(gòu)件參數(shù)。這一轉(zhuǎn)換過(guò)程是通過(guò)CAR構(gòu)件技術(shù)對(duì)元數(shù)據(jù)的支持來(lái)實(shí)現(xiàn)的。元數(shù)據(jù)中存放了所有類(lèi)、接 口、方法和參數(shù)的數(shù)據(jù),通過(guò)對(duì)元數(shù)據(jù)的分析計(jì)算,SCI能夠找到所需的 接口方法的入口點(diǎn)以及參數(shù)信息,使得以腳本方式操作構(gòu)件成為可能。參 數(shù)轉(zhuǎn)換過(guò)程大致分為如下3個(gè)步驟1) 由腳本語(yǔ)言引擎分析腳本從而獲得原始的參數(shù);2) 將腳本語(yǔ)言對(duì)應(yīng)的SCIParamConvertor作為參數(shù)傳遞給SCIObject 的Invoke方法。在Invoke過(guò)程中,SCI0bject根據(jù)內(nèi)部構(gòu)件實(shí)例方法的 元數(shù)據(jù),調(diào)用SCIParamConvertor的Normalize方法向腳本語(yǔ)言提出轉(zhuǎn)換 請(qǐng)求(如果在xml中只有字符型數(shù)據(jù)〈Methodl a二" 50" b=,, 100" />, 而構(gòu)件中方法的聲明為HRESULT Methodl (int a, int b);,則需要將"50","100"轉(zhuǎn)換成int類(lèi)型)。SCIParamConvertor就根據(jù)元數(shù)據(jù)中描述的參 數(shù)類(lèi)型要求將腳本參數(shù)轉(zhuǎn)換成CAR構(gòu)件方法中的強(qiáng)類(lèi)型參數(shù)。稱這個(gè)階段 為參數(shù)正規(guī)化;3) 將正規(guī)化后的參數(shù)轉(zhuǎn)換為機(jī)器棧參數(shù)壓入堆棧,調(diào)用內(nèi)部構(gòu)件的 目標(biāo)方法,完成方法調(diào)用。這一步依賴目標(biāo)編譯器的棧機(jī)制,對(duì)整個(gè)系統(tǒng) 概念無(wú)影響,不做討論。SCI由以下幾個(gè)模塊組成,見(jiàn)表l:
<formula>formula see original document page 11</formula>11 <w:form caption=〃Hello World!〃 left二"10" top="10" width=〃70" height="50〃〉12 〈w:label x:id二〃hel1?!?left=〃0〃 top-〃0〃 width=〃3S〃 height:〃20〃 />13 <w:button x:id=〃btnl" caption="Click Me" left="37" top=〃0〃 width=〃70〃 height二〃20〃〉14 <x:event type=〃Event—Click" handler javascript :OnBtnClick() "/>15 </w:button〉16 </w:form>17 </x:xglue〉程序中2-3行通過(guò)名字空間(xmlns)指定了所使用的CAR構(gòu)件;4-10 行嵌入了 JavaScript腳本來(lái)添加一個(gè)事件處理函數(shù),豐富應(yīng)用的表現(xiàn)能 力;11-17行用XML描述了構(gòu)件實(shí)例之間的關(guān)系。其運(yùn)行效果可參見(jiàn)圖3。左邊是程序運(yùn)行后的初始狀態(tài),當(dāng)用戶鼠標(biāo) 點(diǎn)擊按鈕Click后,程序界面變?yōu)橛覉D所示樣子,按鈕左邊打印出hello 字樣??梢?jiàn),XML-Glue描述應(yīng)用的能力是十分強(qiáng)大且簡(jiǎn)潔的,大大簡(jiǎn)化了 應(yīng)用的開(kāi)發(fā)難度、提高了應(yīng)用開(kāi)發(fā)的效率。與XUL和XAML相比,XML-Glue技術(shù)在基于CAR構(gòu)件技術(shù)的基礎(chǔ)上, 充分發(fā)揮了 CAR構(gòu)件技術(shù)的模塊化、高效率等特點(diǎn)以及腳本語(yǔ)言的動(dòng)態(tài)、 靈活的特點(diǎn),本發(fā)明XML-Glue在嵌入式系統(tǒng)中也提供了相應(yīng)的框架,為 嵌入式應(yīng)用的開(kāi)發(fā)提供了新的選擇。綜上所述,本發(fā)明能夠動(dòng)態(tài)拼裝構(gòu)件,構(gòu)件只是專注于它自己的業(yè)務(wù) 邏輯,而構(gòu)件之間的聯(lián)系則通過(guò)腳本語(yǔ)言來(lái)完成。本發(fā)明在給應(yīng)用開(kāi)發(fā)具 有如下優(yōu)點(diǎn)1) 開(kāi)發(fā)人員分工明確,提高開(kāi)發(fā)效率。簡(jiǎn)單是XML-Glue的一個(gè)主要優(yōu)點(diǎn)?;赬ML-Glue的應(yīng)用UI和邏輯 是分離的,而UI又是XML描述,與傳統(tǒng)的界面編程相比,用XML來(lái)描述 更易于使用。UI設(shè)計(jì)人員可以像設(shè)計(jì)HTML—樣方便的設(shè)計(jì)應(yīng)用程序界面, 幾行XML可完成原來(lái)很多行〔/0++代碼的工作。而程序開(kāi)發(fā)人員則只需關(guān) 注于應(yīng)用業(yè)務(wù)邏輯的實(shí)現(xiàn),不用再用0/^++來(lái)編寫(xiě)繁瑣的UI 了。這個(gè)事 實(shí)可能最終帶來(lái)用戶界面開(kāi)發(fā)更高的效率和更低成本。2) 易于應(yīng)用維護(hù)、定制。手機(jī)廠商可以為不同型號(hào)的手機(jī)應(yīng)用維護(hù)一份核心的代碼,因?yàn)榛?XML-Glue的應(yīng)用UI和邏輯是分離的,如果開(kāi)發(fā)兩款不同的手機(jī),可能需 要兩種不同的UI,但是邏輯是一致的,那么只需將UI部分重新設(shè)計(jì)就可 以了,復(fù)雜的邏輯代碼(C/C++)則無(wú)需任何更改、編譯等工作。而傳統(tǒng) 的應(yīng)用中,UI和邏輯都用0/0++來(lái)實(shí)現(xiàn),而且混雜在一起, 一點(diǎn)點(diǎn)界面的 更改都需要修改〔/0++代碼,并且重新編譯等工作。可見(jiàn)XML-Glue也為 應(yīng)用的移植降低了很大的成本。3) 繼承了CAR構(gòu)件技術(shù)的優(yōu)秀特性,應(yīng)用具有很好的擴(kuò)展能力。 因?yàn)閄ML-Ghie基于CAR構(gòu)件技術(shù),所以,只要符合CAR構(gòu)件技術(shù)標(biāo)準(zhǔn)的構(gòu)件,都可以在XML-Glue中使用。例如,用戶可以編寫(xiě)特定的UI
控件,就可以象-種嵌入式圖形操作系統(tǒng)內(nèi)置的UI控件一樣使用;另夕卜,如果需要,甚至可以在XML-Glue中使用腳本來(lái)操作Socket,進(jìn)行通訊。 總之,只要通過(guò)CAR構(gòu)件技術(shù)能夠完成的工作,XML-Glue都可以很好的 完成。
權(quán)利要求
1、一種實(shí)現(xiàn)構(gòu)件的動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng),其特征在于,包括最外層即Runtime系統(tǒng),負(fù)責(zé)初始化和釋放所述動(dòng)態(tài)自動(dòng)適配系統(tǒng)應(yīng)用所需資源;內(nèi)部頂層,提供腳本語(yǔ)言及其配套設(shè)施;SCI層,用于調(diào)用構(gòu)件類(lèi)實(shí)例的成員方法,可封裝構(gòu)件類(lèi)實(shí)例,并通過(guò)內(nèi)部頂層提供的參數(shù)類(lèi)型轉(zhuǎn)換機(jī)制將腳本參數(shù)轉(zhuǎn)換為構(gòu)件參數(shù)進(jìn)行方法調(diào)用,將構(gòu)件方法的返回值轉(zhuǎn)換為相應(yīng)的腳本數(shù)據(jù)類(lèi)型;構(gòu)件層,實(shí)現(xiàn)業(yè)務(wù)邏輯并提供服務(wù);其中SCI層用于所述腳本語(yǔ)言與構(gòu)件系統(tǒng)間通信。
2、 根據(jù)權(quán)利要求l的動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng),其特征在于,所 述內(nèi)部頂層包括XML、 JavaScript、 Other Scripts提供各種腳本語(yǔ)言 且描述了動(dòng)態(tài)自動(dòng)適配技術(shù)應(yīng)用的多種形式;Script Adapter,為所述各 種腳本語(yǔ)言中實(shí)現(xiàn)接口的構(gòu)件,負(fù)責(zé)將其對(duì)應(yīng)腳本代碼中弱類(lèi)型的方法參 數(shù)轉(zhuǎn)換為所述一種構(gòu)件技術(shù)中強(qiáng)類(lèi)型的參數(shù),并在構(gòu)件方法返回的時(shí)候?qū)?返回值封裝為對(duì)應(yīng)腳本可識(shí)別的數(shù)據(jù)類(lèi)型;Error Interpreter為每種腳 本語(yǔ)言翻譯器,負(fù)責(zé)翻譯調(diào)用構(gòu)件方法的出錯(cuò)信息,將該構(gòu)件技術(shù)中的方 法調(diào)用發(fā)生錯(cuò)誤后返回的值翻譯成文本,并以腳本語(yǔ)言特定的錯(cuò)誤機(jī)制反 饋用戶。
3、 根據(jù)權(quán)利要求1或2的動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng),其特征在于, 所述SCI層包括SCIModule模塊,負(fù)責(zé)對(duì)構(gòu)件模塊的抽象,封裝了構(gòu)件 模塊的元數(shù)據(jù)接口和IModule接口; SCIObjectFactory模塊,負(fù)責(zé)對(duì)構(gòu) 件類(lèi)廠的抽象,封裝了元數(shù)據(jù)接口指針和類(lèi)廠指針;SCI0bject模塊,負(fù) 責(zé)對(duì)構(gòu)件實(shí)例的抽象,封裝了構(gòu)件實(shí)例的元數(shù)據(jù)接口和IObject接口。
4、 一種動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng)實(shí)現(xiàn)方法,用于根據(jù)權(quán)利要求1或2或3的動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng)上,其特征在于,所述構(gòu)件系統(tǒng)支 持Model;所述腳本語(yǔ)言支持View,所述動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng)實(shí)現(xiàn) Controller的構(gòu)件組裝;其中構(gòu)件組裝包括如下步驟a. 腳本發(fā)起調(diào)用;b. 所述SCI層中通過(guò)SCIModule或者SCI0bjectFactory獲取相應(yīng)構(gòu) 件模塊,創(chuàng)建腳本所請(qǐng)求的構(gòu)件實(shí)例,并封裝成SCIObject;c. 所述SCI0bject使用所述Script Adapter進(jìn)行腳本弱類(lèi)型參數(shù)向 CAR構(gòu)件系統(tǒng)強(qiáng)類(lèi)型參數(shù)的轉(zhuǎn)換;d. 所述SCIObject向?qū)嶋H的構(gòu)件實(shí)例發(fā)起調(diào)用請(qǐng)求;e. 所述構(gòu)件實(shí)例的方法運(yùn)行結(jié)束并返回;f. 所述SCI0bject調(diào)用所述Script Adapter將返回值進(jìn)行相應(yīng)的封 裝,提供給腳本語(yǔ)言;g. 腳本語(yǔ)言通過(guò)Script Adapter獲取返回值,完成本次調(diào)用。
5、 根據(jù)權(quán)利要求4的動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng)實(shí)現(xiàn)方法,其特征 在于,所述步驟c參數(shù)的轉(zhuǎn)換過(guò)程包括如下步驟1) 由腳本語(yǔ)言引擎分析腳本以獲得原始參數(shù);2) SCIParamConvertor根據(jù)元數(shù)據(jù)中描述的參數(shù)類(lèi)型要求將腳本參 數(shù)轉(zhuǎn)換成構(gòu)件系統(tǒng)中的強(qiáng)類(lèi)型參數(shù),完成參數(shù)正規(guī)化;3) 將正規(guī)化后的參數(shù)轉(zhuǎn)換為機(jī)器棧參數(shù)壓入堆棧,調(diào)用內(nèi)部構(gòu)件的 目標(biāo)方法,完成方法調(diào)用。
6、 根據(jù)權(quán)利要求4的動(dòng)態(tài)自動(dòng)適配技術(shù)編程系統(tǒng)實(shí)現(xiàn)方法,其特征在于,所述步驟2)參數(shù)正規(guī)化指將腳本語(yǔ)言對(duì)應(yīng)的SCIParamConvertor作 為參數(shù)傳遞給SCIObject的Invoke方法;在Invoke過(guò)程中,SCI0bject根據(jù) 內(nèi)部構(gòu)件實(shí)例方法的元數(shù)據(jù),調(diào)用SCIParamConvertor的Normalize方法向 腳本語(yǔ)言提出轉(zhuǎn)換請(qǐng)求。
全文摘要
本發(fā)明公開(kāi)了一種構(gòu)件化軟件系統(tǒng)中動(dòng)態(tài)自動(dòng)適配的編程系統(tǒng)及實(shí)現(xiàn)方法,本發(fā)明系統(tǒng),包括最外層即Runtime系統(tǒng)、內(nèi)部頂層、SCI層、構(gòu)件系統(tǒng)層;其中SCI層用于腳本語(yǔ)言與構(gòu)件系統(tǒng)間通信。本發(fā)明實(shí)現(xiàn)方法,運(yùn)用上述動(dòng)態(tài)自動(dòng)適配編程系統(tǒng)上,基于構(gòu)件技術(shù)基礎(chǔ)上,使構(gòu)件系統(tǒng)支持Model;腳本語(yǔ)言支持View,動(dòng)態(tài)自動(dòng)適配編程系統(tǒng)實(shí)現(xiàn)Controller的構(gòu)件組裝。本發(fā)明通過(guò)使用XML/JavaScript來(lái)描述應(yīng)用的UI,而由構(gòu)件來(lái)完成應(yīng)用的邏輯,然后通過(guò)本系統(tǒng)動(dòng)態(tài)自動(dòng)完成二者的拼裝,并形成一個(gè)完整的應(yīng)用。本發(fā)明簡(jiǎn)單易用、易于維護(hù)并具有很好的擴(kuò)展能力可提高開(kāi)發(fā)人員開(kāi)發(fā)效率。
文檔編號(hào)G06F9/44GK101158894SQ20061011689
公開(kāi)日2008年4月9日 申請(qǐng)日期2006年10月8日 優(yōu)先權(quán)日2006年10月8日
發(fā)明者牛靖宇, 果 陳, 榕 陳 申請(qǐng)人:上??铺┦兰o(jì)科技有限公司
網(wǎng)友詢問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1