高級軟件工程(IDL與ORB接口)

高級軟件工程(IDL與ORB接口)

ID:36424893

大?。?79.00 KB

頁數(shù):47頁

時間:2019-05-09

高級軟件工程(IDL與ORB接口)_第1頁
高級軟件工程(IDL與ORB接口)_第2頁
高級軟件工程(IDL與ORB接口)_第3頁
高級軟件工程(IDL與ORB接口)_第4頁
高級軟件工程(IDL與ORB接口)_第5頁
資源描述:

《高級軟件工程(IDL與ORB接口)》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在行業(yè)資料-天天文庫

1、4、OMGIDLOMGIDLIDL特點IDL規(guī)范模塊接口提前聲明常量類型聲明序列any類型屬性例外操作簽名預(yù)編譯構(gòu)件對象模型:COM1、IDL特點CORBA規(guī)范中最有意義的內(nèi)容IDL類似于應(yīng)用程序接口(API)在客戶代碼與對象實現(xiàn)(服務(wù))之間定義了一個清晰的邊界OMGIDL是一個穩(wěn)定的標準自1991年公布以來,基本未改變是OMG其它被采納規(guī)范的基礎(chǔ)已經(jīng)被ISO采納(ISODIS14750)OMGIDL一個IDL文件可以向多個編程語言映射IDL是獨立于語言的CORBA規(guī)范包含IDL向具體編程語言的映射已經(jīng)發(fā)布映射規(guī)范的語言包括

2、:C,C++,SmallTalk,Ada95等IDL支持平臺獨立性IDL是獨立于平臺的由IDL指定的接口可以在不同的ORB與平臺上一致地表達只要程序員使用由IDL定義的接口不會遇到由于使用CORBA導致的平臺移植問題OMGIDL構(gòu)件對象模型:COMIDL是一個純規(guī)范,不涉及實現(xiàn)問題:IDL定義的接口不對對象實現(xiàn)進行任何約束例如:編程語言進程算法等將客戶從對象實現(xiàn)細節(jié)中清晰地分離出來有利于:軟件復用軟件演化這是IDL被廣泛接收的重要原因OMGIDL構(gòu)件對象模型:COMIDL設(shè)計的質(zhì)量至為重要IDL通常被用于定義應(yīng)用系統(tǒng)中的重要

3、接口例如:子系統(tǒng)接口企業(yè)模型接口庫接口等這些接口是復用、互操作的關(guān)鍵部分IDL的變化將影響系統(tǒng)中的多個軟件模塊好的IDL將:提高復用與互操作性提高系統(tǒng)的適應(yīng)性降低維護費用OMGIDL2、IDL規(guī)范IDL是一個嚴格的定義用OMGIDL編寫的接口定義完整地定義了接口并且完全指定了每個操作的參數(shù)OMGIDL接口提供的信息被用于開發(fā)使用接口操作的客戶客戶程序不用純描述性語言O(shè)MGIDL編寫而是用事先定義的映射從OMGIDL概念映射到的語言編寫的OMGIDL構(gòu)件對象模型:COMOMGIDL詞法遵循C++的詞法規(guī)則OMGIDL語法是已被

4、提議的ANSIC++標準的子集但比C++更嚴格:函數(shù)返回類型是強制的對操作聲明的每個正式參數(shù)都必須提供名稱由單個符號void組成的參數(shù)列表不允許作為空參數(shù)列表的同義字結(jié)構(gòu)、discriminated聯(lián)合和枚舉要求被標記整數(shù)類型不能定義為簡單的int或unsigned它們必須顯式聲明為short或longchar不能由signed或unsigned關(guān)鍵字限定OMGIDL構(gòu)件對象模型:COM(1)IDL模塊(Modules)為IDL定義創(chuàng)建分離的名空間防止不同領(lǐng)域中標識之間的沖突模塊可以嵌套以創(chuàng)建具有一定長度的限定范圍的名字引用

5、名字引用例子:Part::Assembly::ComponentWidgetOMGIDL3個模塊例子:moduleAssembly{typedefstringWidget;};modulePart{typedef::Assembly::WidgetPartWidget;moduleComponentPart{typedefPartWidgetComponentWidget;};};CORBAServices對模塊進行擴充使用每個服務(wù)定義了一個或多個模塊OMGIDL構(gòu)件對象模型:COM(2)IDL接口(Interface)ID

6、L接口定義分布對象顯露的細節(jié)每個IDL接口定義了一個新對象類型操作簽名是接口的核心是服務(wù)請求的入口點接口清晰地劃分了服務(wù)的實現(xiàn)與客戶之間的邊界接口的不足之處:未顯示代碼之間的關(guān)系OMGIDL構(gòu)件對象模型:COM例子:InterfaceAccount{//Accountdefinitions}InterfaceCheking:Account{//InheritsallAccountdefinitions//addsCheckingdefinitions};InterfaceSaving:Account{//Inheritsal

7、lAccountdefinitions//addsSavingsdefinitions};IDL支持多繼承OMGIDL構(gòu)件對象模型:COM(3)IDLForward用于聲明一個未定義的接口例子:interfaceEmployee;//forwarddeclarationstructEmployeeContacts{Employeesupervisor;Employeesecretary;Employeeunion_shop_leader;}interfaceEmployee{attributeEmployeeContacts

8、contacts;typedefstringJobTitle;//otherdefinitions}OMGIDL(5)IDL類型聲明(4)IDL常量(Constants)IDL中類型定義的目的在于支持操作簽名的強類型檢查類型聲明包括:IDL中特殊類型的重命名創(chuàng)建用戶定義的類型例如:枚舉結(jié)構(gòu)

當前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。