锘??xml version="1.0" encoding="utf-8" standalone="yes"?>亚洲乱码中文字幕综合234,亚洲午夜激情视频,国产精品亚洲片夜色在线http://www.tkk7.com/kapok/category/2617.html鍨冨溇妗?鍢垮樋錛屾垜钘忕殑榪欎箞娣變綘浠繕鑳芥壘鍒板晩錛岀湡鐗涳紒zh-cnWed, 28 Feb 2007 01:36:09 GMTWed, 28 Feb 2007 01:36:09 GMT60Corba涓璉DL鐨勮璁?/title><link>http://www.tkk7.com/kapok/archive/2005/08/08/9595.html</link><dc:creator>絎ㄧ</dc:creator><author>絎ㄧ</author><pubDate>Mon, 08 Aug 2005 10:24:00 GMT</pubDate><guid>http://www.tkk7.com/kapok/archive/2005/08/08/9595.html</guid><wfw:comment>http://www.tkk7.com/kapok/comments/9595.html</wfw:comment><comments>http://www.tkk7.com/kapok/archive/2005/08/08/9595.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.tkk7.com/kapok/comments/commentRss/9595.html</wfw:commentRss><trackback:ping>http://www.tkk7.com/kapok/services/trackbacks/9595.html</trackback:ping><description><![CDATA[<CENTER> <H3>Corba涓璉DL鐨勮璁?/H3></CENTER><STRONG><FONT size=4><A >http://www.huihoo.com/corba/corba_idl.html</A></FONT></STRONG><BR>(鏉ユ簮錛歨ttp://www.ccw.com.cn) <BR><BR> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>浠庢妧鏈殑瑙掑害鏉ヨ錛屾妸緋葷粺璁捐鎴恘灞傜粨鏋勯渶瑕佽В鍐崇郴緇熺鐞嗕笂鐨勪竴浜涢棶棰橈紝濡傜綉緇滅殑寤舵椂錛岀郴緇熺殑鍙嶅簲鏃墮棿錛屾湇鍔$殑鍙敤鎬э紝璐熻澆鐨勭鐞嗭紝鍒嗗竷寮忕殑緙撳啿鍜屽垎甯冨紡鐨勫瀮鍦懼洖鏀剁瓑銆傝屼笖錛屽浜庢瘡涓涓兘鎻愰珮緋葷粺鏁堢巼鐨勬柊鐨勮В鍐蟲柟妗堬紝涔熶細闅忎箣甯︽潵鏂扮殑闂銆備絾鏄繖浜涘湪璁捐澶у瀷鐨勫垎甯冨紡搴旂敤緋葷粺鐨勬妧鏈笂鐨勯棶棰橈紝閮藉彲浠ラ氳繃浣跨敤涓浜涘熀鏈殑璁捐鏂規硶鍜屾妧宸ф潵鍔犱互瑙e喅銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>閫氳繃浣跨敤榪唬錛圛terator錛夌殑璁捐妯″紡鏉ュ畾涔塱dl璇█錛屼粠鑰岃В鍐砪orba紼嬪簭涓濡傛ц兘綆$悊錛岀紦鍐詫紝鍒嗗竷寮忓瀮鍦懼洖鏀剁瓑闂銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14><B><FONT size=4>涓錛庢ц兘涓婄殑闂</FONT></B></TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>铏界劧corba鐨勪綋緋葷粨鏋勭畝鍖栦簡緗戠粶鐨勫唴鍦ㄧ殑澶嶆潅鎬с備絾瀹冧笉鑳戒繚璇佷竴瀹氬彲浠ユ瀯閫犱竴涓珮</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>鎬ц兘錛岄珮鏁堢巼鐨勭郴緇燂紝瑕佸疄鐜拌繖涓洰鏍囷紝鏁翠釜緋葷粺鐨勮璁′竴瀹氳鑰冭檻鍒扮綉緇滃浐鏈夌殑緇撴瀯錛屼富瑕佹槸浠ヤ笅鐨勪笁涓洜绱犮?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>1錛?榪滅▼璋冪敤鐨勬暟閲忋?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>2錛?鏁版嵁浼犺緭鐨勬暟閲忋?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>3錛?涓嶅悓鏁版嵁綾誨瀷鐨勮漿鎹㈠拰鍖呰銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>濡傛灉鍦ㄧ郴緇熻璁$殑寮濮嬪姞浠ヨ冭檻錛岃繖浜涢棶棰樺皢浼氬緱鍒拌В鍐熾?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>鍦ㄥ熀浜巆orba鐨勪綋緇熻璁′腑錛宨dl鍦ㄧ粍浠剁殑璁捐涓搗浜嗗緢澶х殑浣滅敤錛屽簲涓哄畠瀹氫箟浜嗘湇鍔$紼嬪簭鐩鎬簰閬靛驚鐨勬帴鍙f爣鍑嗐?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14><B><FONT size=4>浜岋紟IDL鐨勮璁?/FONT></B></TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>涓涓氬父鍦↖DL璁捐涓蹇借鐨勯棶棰樻槸鍝竴涓帴鍙g敤浜庢湇鍔″櫒绔殑搴旂敤紼嬪簭錛屼互鍙婃殏鏃剁殑錛坱ransient錛夊拰鎸佷箙鐨勶紙persisent錛塩orba瀵硅薄銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>1錛庝竴涓湇鍔″櫒绔殑搴旂敤紼嬪簭鏄竴涓敤浜庡疄鐜板璞℃柟娉曠殑錛屼笌璇█鏃犲叧鐨勫璞°傚湪corba紼嬪簭鐨勬ā鍨嬩腑錛屾湇鍔″櫒绔殑紼嬪簭閫氳繃鍙Щ妞嶅璞¢傞厤鍣紙Portable Object Adaptor,鍗砅OA錛夊悜緋葷粺娉ㄥ唽錛屼粠鑰岃兘涓鐩存帴鍙楃敤鎴峰瀹冪殑璋冪敤銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>2錛庡悓鏈嶅姟鍣ㄧ鐨勫璞$浉姣旓紝鏆傛椂鐨刢orba瀵硅薄騫朵笉鐢≒OA鍚戠郴緇熸敞鍐岋紝浠栦滑鍦ㄧ敤鎴峰悜緋葷粺璇鋒眰鐨勮繃紼嬩腑鐢辨湇鍔″櫒绔殑搴旂敤紼嬪簭鐢熸垚銆傝繖浜涙殏鏃剁殑corba瀵硅薄鐨勭敓鍛藉懆鏈熶笉浼氳秴榪囨墍鍦ㄨ繘紼嬫垨鐢熸垚璇ュ璞$殑綰跨▼鐨勭敓鍛藉懆鏈燂紝鑰屼笖浠栦滑鐨勫璞″彞鏌勫茍涓嶅叕寮銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>3錛庢寔涔呮х殑corba瀵硅薄鍚屾寔涔呮х殑鐘舵佺浉鍏寵仈錛屾湁鐫鐗規畩鐨勭敤閫斻?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>浠ヤ笅涓昏璁ㄨ浣跨敤鏆傛椂鐨刢orba瀵硅薄鏉ョ鐞嗗ぇ閲忔暟鎹殑浼犺緭銆傝繖涓柟娉曞湪澶勭悊鍙兘涓㈠け鏁版嵁鐨勭▼搴忔椂闈炲父鏈夌敤錛屽涓嬩緥鎵紺猴細</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>鐢ㄦ埛瑕佹煡璇㈠ぇ閲忕殑鏁版嵁錛屽湪寰楀埌浜嗗墠20涓暟鎹悗錛屽彟涓涓敤鎴蜂篃鎻愬嚭涓涓煡璇紝鍙兘鐨勬儏鍐墊槸鍓嶉潰鏌ヨ鐨勬暟鎹皢涓㈠け銆傚湪涓涓崟榪涚▼鐨勫簲鐢ㄧ▼搴忎腑錛岃繖涓嶆槸涓涓棶棰樸備絾鏄湪鍒嗗竷寮忕紪紼嬪拰璁捐涓傚皢浼氬崰鐢ㄥ緢澶氱殑緗戠粶甯﹀鍜宑pu鐨勫鐞嗘椂闂淬?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>鍩轟簬濡備笂鎵榪幫紝鍥句竴鎻愪緵浜嗕竴涓鎴風鍜屾湇鍔″櫒绔▼搴忕殑浜や簰鐩稿簲鐨勭ず鎰忓浘銆傚鎴風鐨勪唬鐞嗘槸涓繙绔殑浠g悊綾伙紝鐢ㄤ簬澶勭悊鍚岃繙绔湇鍔″櫒紼嬪簭鐨勮繛鎺ヤ互鍙婃妸瀹㈡埛绔殑璇鋒眰鍙戦佸埌鏈嶅姟鍣ㄧ銆傚鎴風鍚戞彁渚涙墍闇鏈嶅姟鐨勬湇鍔″櫒绔粯鍑鴻姹傦紝鏈嶅姟鍣ㄧ榪斿洖涓緇勪駭鍝佺殑淇℃伅錛屽鏋滆繖涓粨鏋滀腑鏈塶涓駭鍝侊紝鍒橬涓厓绱犵粡榪囧弬鏁拌漿鎹㈠悗鍦ㄨ繑鍥炪傚垵涓鐪嬶紝榪欎釜璁捐鏄彲琛岀殑錛屽鏋滀笉鍙戠敓鍓嶉潰鎵璇寸殑涓嶅彲棰勬枡鐨勬儏鍐電殑璇濄?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14> <P align=center><IMG src="http://www.huihoo.com/corba/i/01_8_20_6a.jpg" border=0> </P></TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>涓嬮潰鐨勪唬鐮佸畾涔変簡鐢ㄦ潵瀹炵幇瀹㈡埛绔拰鏈嶅姟鍣ㄧ浜や簰浣滅敤鐨処DL鎺ュ彛鍜屾柟娉曘傝鏂囦歡涓彧瀹氫箟浜嗕竴涓柟娉曪紝鐢ㄦ潵榪斿洖涓緇勪駭鍝佺殑淇℃伅銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Module productcatalog</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>struct ProductItem</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>string productName;</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>鈥?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>};</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>typedef sequence<PRODUCTITEM> ProductItemList;</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Interface ProductCatalog</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>ProductItemList getProductItems(in string group,in string category,in string status )</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Raises {SomeRemoteException};</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>};</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>};</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>浠庡鎴風鐨勮搴︾湅錛屽鏈嶅姟鍣ㄧ紼嬪簭鐨勪竴涓姹傦紝鏉ユ绱駭鍝佺殑淇℃伅闇瑕佸涓嬬殑鍑犳楠ゃ傚鍥句簩鎵紺?</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14> <P align=center><IMG src="http://www.huihoo.com/corba/i/01_8_20_6b.jpg" border=0> </P></TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>浠g悊鐨勫璞℃彁渚涗簡涓涓寘錛岀粦瀹氬埌涓涓壒瀹氱殑鏈嶅姟鍣ㄧ鐨勫璞″疄渚嬩笂鏉ュ厖褰撲竴涓腑闂寸殑瀵硅薄錛岀敤鏉ョ鐞嗗榪滅▼鏈嶅姟鍣ㄥ璞$殑璋冨害浜嗙鐞嗐傚畠鐨勪富瑕佷換鍔″寘鎷細</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>1錛?鍑嗗涓涓姹?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>2錛?鎶婅皟鐢ㄨ姹傛彁浜ょ粰ORB鐨勬々(stub)</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>3錛?鎹曟崏錛坱rap錛夎繙绔殑寮傚父銆傦紙鏈濂芥妸瀹冧滑鏄犲皠鍒扮敤鎴瘋嚜宸卞畾涔夌殑寮傚父涓級</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>4錛?鍑嗗濂界敤浜庢帴鍙楃壒瀹氬璞℃ā鍨嬬殑鏁版嵁緇撴瀯銆傝繖浜涙暟鎹琚鎴風鐨勫簲鐢ㄧ▼搴忎嬌鐢ㄤ駭鍝佺被浠g悊鐨勫疄鐜板涓嬮潰鐨勪唬鐮佹墍紺猴細</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>public class ProductServiceProxy</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>private static ProductServiceProxy instance;</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>private ProductServiceProxy() {}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>public static ProductServiceClient getInstance()</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>if(instance==null)</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>instance=new ProductServiceProxy();</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>return instance;</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>public ArrayList getProducts(String group,String category,String status) </TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>throws SomeException</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>ArrayList productList=new ArrayList();</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Try</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>ProductService productService=LocateRemoteService();</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>If(productService==null)</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>//return empty list or throw user defined exception</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>try</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>//get products using criteria,when request returns data,prepare data and store </TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>results in collection object</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>catch(SystemException se){//handle exception }</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>catch(Exception e){//handle exception}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>return productList;</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>瀹㈡埛绔殑浠g悊綾葷敤鍗曚竴錛坰ingleton錛夋ā寮忔潵瀹炵幇錛屼粠鑰屽彲浠ヤ繚璇佸彧鏈変竴涓鎴風鐨勪唬鐞嗗璞″疄渚嬬敓鎴愶紝瀵逛簬姣忎竴涓渶瑕佽繙绔皟鐢ㄧ殑璇鋒眰錛孡ocateRemoteService()鏂規硶灝變細璋冪敤錛屼粠鑰屾潵楠岃瘉榪滅瀵硅薄鐨勫彞鏌勶紝濡傛灉榪炴帴宸叉柇寮鎴栬呭璞$殑鍙ユ焺宸茬粡澶辨晥錛屽氨浼氳嚜鍔ㄧ粦瀹氾紝浠庤岃兘闃叉澶辮觸銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>鍙﹀鐨勪竴縐岻DL鐨勮璁℃槸錛屾湇鍔″櫒绔▼搴忚繑鍥炰竴緋誨垪鐨勪駭鍝両D鍙瘋屼笉鏄駭鍝佹湰韜?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>濡傚浘涓夋墍紺猴細</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14> <P align=center><IMG src="http://www.huihoo.com/corba/i/01_8_20_6c.jpg" border=0> </P></TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>灝辯綉緇滄湰韜潵璁詫紝榪欎袱涓璁$殑宸埆涓昏鍦ㄤ簬浜у搧ID鍙風殑鏁版嵁閲忚榪滆繙灝忎簬浜у搧鏈韓鐨勬暟鎹噺銆傝岀敤鎴蜂篃鍙互閫夋嫨鍏朵腑鐨勪竴涓狪D鍙鋒潵瀵熺湅浜у搧鐨勮緇嗕俊鎭傝繖涓璁″悓鍓嶉潰鐨勮璁$浉姣旀洿瓚嬪悎鐞嗐傚洜涓哄畠鑳芥牴鎹敤鎴風殑闇姹傛潵浼犻佹暟鎹紝浠庤屼笉浼氬鑷村ぇ閲忔棤鐢ㄦ暟鎹殑浼犺緭銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>浣嗘槸榪欎釜璁捐鏂規涔熸湁涓涓紛绔紝鍗寵鍐沖畾鏄惁瑕佹樉紺轟駭鍝両D鍙楓傝屾绱㈡瘡涓浜у搧閮介渶瑕佹煡璇㈡墍鏈夌殑浜у搧淇℃伅錛岃繖鏍峰氨浼氬甫鏉ュ悓絎竴涓柟妗堢浉鍚岀殑闂銆傚洜涓轟負浜嗘暟鎹紝闇瑕佽繘琛宯+1嬈$殑榪滅▼璋冪敤銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>絎笁縐嶆柟妗堝鍥懼洓鎵紺猴紝瀹冧富瑕侀噸鏂拌璁′簡IDL錛屽埄鐢ㄧ敤鎴風殑涔犳儻鍜岀郴緇熻綆楃殑闄愬埗銆傝繖涓璁′笂鐨勬敼榪涗富瑕佸熀浜庡涓嬬殑鑰冭檻銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14> <P align=center><IMG src="http://www.huihoo.com/corba/i/01_8_20_6d.jpg" border=0></P></TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>瀵逛簬寰堝鐨勭敤鎴風晫闈㈢殑搴旂敤紼嬪簭鏉ヨ錛屽鍩轟簬JAVA SWING鎴朩EB鐨勭▼搴忥紝涓嬈$幇瀹炲灝戞暟鎹父甯鎬細鍙楀埌灞忓箷澶у皬鐨勯檺鍒躲傚涓嶹EB鐨勭▼搴忔潵璁詫紝鏌ヨ鐨勭粨鏋滃父 甯鎬細琚垎涓哄緢澶氶〉錛岀敱瀵艱埅鏍忔潵鎺у埗淇℃伅鐨勬樉紺恒傝屼笖錛屼竴鑸潵璇達紝鐢ㄦ埛甯稿父闇瑕佷竴瀹?鐨勬椂闂存潵嫻忚鏄劇ず鐨勪俊鎭紝鐒跺悗鎵嶄細閫夋嫨涓嬩竴姝ョ殑鍔ㄤ綔銆傝繖灝辯粰紼嬪簭鐨勮繍琛屼簡璋冪敤甯︽潵 浜嗕竴瀹氭剰瑙佺殑緙撳啿銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>涓轟簡瀹炵幇榪欎釜鐩殑錛岄渶瑕佽繍鐢ㄥ涓嬬殑鏈哄埗鏉ヨ鑼冧俊鎭殑嫻佸姩浜嗕紶杈撱備竴涓柟娉曞氨鏄嬌鐢ㄨ凱浠o紙Iterator錛夎璁℃ā寮?鍥犳闇瑕侀噸鏂拌璁DL錛屼粠鑰岃兘浣垮ぇ閲忕殑鏁版嵁鍒嗘垚澶?涓潡鏉ヤ紶杈撱備負浜嗘柟渚跨▼搴忕殑瀹炵幇錛岄渶瑕侀鍏堝畾涔変竴涓熀鏈殑榪唬鎺ュ彛鏉ヨ瀹氳繙紼嬭凱浠?綾葷殑鏂規硶銆備笅闈㈢殑浠g爜瀹氫箟浜嗕竴涓熀鏈殑BaseIterator鍜孊aseListIterator鎺ュ彛銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>/* Base Iterators in IDL */</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>#include 鈥渦til/exceptions/idlexceptions.idl鈥?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>module iterator</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>interface BaseIterator</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Boolean hasNext() raises(SomeRemoteException);</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Short count() raises(SomeRemoteException);</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>};</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>interface BaseListIterator</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Boolean hasPrevious() raises(SomeRemoteException);</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Short previousIndex() raises(SomeRemoteException);</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Boolean hasNext() raises(SomeRemoteException);</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Short nextIndex() raises(SomeRemoteException);</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Short count() raises(SomeRemoteException);</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>};</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>};</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>/* util/iterator/iterator.idl */ </TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>榪欎袱涓帴鍙d負涓嬮潰璺熷叿浣撲笟鍔℃湁鍏崇殑鎺ュ彛鐨勫疄鐜幫紝濡侾roductIterator鎺ュ彛鐨勫疄鐜版彁渚涗簡鍩虹銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>/* 鍏蜂綋涓氬姟鏈夊叧鐨勬帴鍙e畾涔夛紝鏈緥涓負ProductIterator鎺ュ彛 */</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>#include 鈥渦til/iterator/iterator.idl鈥?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>module productcatalog</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>struct productItem</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>string productName;</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>鈥︹?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>};</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>typedefsequence<PRODUCTITEM> ProductItemList;</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>interface ProductIterator : iterator::BaseListIterator</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>ProductItem next() raises (SomeRemoteException); </TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>ProductItemList nextBlock(in short size) raises (SomeRemoteException);</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>ProductItem previous() raises (SomeRemoteException);</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>ProductItemList previousBlock(in short size) raises (SomeRemoteException);</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>};</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>interface ProductCatalog</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>ProductIterator getProductItems(in string group,in string category,in string status)</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>raises (SomeRemoteException); </TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>};</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>};</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>鍊煎緱娉ㄦ剰鐨勬槸錛屽湪涓婇潰鐨勪唬鐮佷腑錛孭roductCatalog鎺ュ彛涓殑getProductItems鏂規硶榪斿洖鐨勬槸ProductIterator鑰屼笉鏄厛鍓嶇殑ProductItemList;</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>鍦ㄦ湇鍔″櫒绔紝瀹炵幇ProductIterator鐨勭被鍦ㄧ鐞嗘暟鎹紶杈撶殑榪囩▼涓搗鍒頒簡闆嗘垚鐨勪綔鐢ㄣ傝屼笖浠庢湰璐ㄤ笂鏉ヨ錛孭roductIterator鎺ュ彛鏄釜鏆傛椂鐨勶紙transient錛塩orba瀵硅薄錛屽湪璋冪敤getProductItems()鐨勮繃紼嬩腑鐢熸垚銆備箣鎵浠ユ槸鏆傛椂鐨勶紝鏄洜涓哄畠鐨勫唴瀹規湁鏌ヨ鐨勭粨鏋滃喅瀹氥傚鏋滄煡璇㈠悗榪斿洖鐨勭粨鏋滄槸闆嗗悎鍨嬬殑鎴栬呴氳繃濡侫rrayList鐨勯泦鍚堢被榪斿洖錛屽垯ProductIterator鐨勫疄鐜板氨姣旇緝綆鍗曪紝鍥犱負ArrayList綾繪湰韜氨宸茬粡鎻愪緵浜嗕簡ListIterator鍜孖terator銆傚彟澶栦竴涓氨鏄湪鏈嶅姟鍣ㄧ紼嬪簭瀹炵幇ProductCatalog涓娿侴etProductItems鏂規硶榪斿洖ProductIterator瀵硅薄鐨勫彞鏌勶紝鑰屼笉鏄?鏂規涓涓殑Product IDs鍜屾柟妗堜簩涓殑Products.鐢變簬Product鍜孭roduct ID閮芥槸Corba鐨勬暟鎹被鍨嬶紝鍥犳鏈嶅姟鍣ㄧ鐨勭▼搴忛渶瑕佽繘琛屾暟鎹被鍨嬬殑鏄犲皠鍜岃漿鎹€傝屽湪鏂規涓変腑錛岀敱浜庝嬌鐢ㄤ簡ProductIterator,鏁版嵁綾誨瀷鐨勬槧灝勫氨鐢辨湇鍔″櫒绔殑瀵硅薄瀹炵幇鏉ュ喅瀹氫簡銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>鍦ㄥ鎴風錛屼唬鐞嗙▼搴忓彂璧峰垵濮嬬殑璇鋒眰錛屽悓鏃剁紦瀛樹簡榪滅鐨勮凱浠o紙Iterator錛夌被鐨勫彞鏌勩備唬鐞嗙▼搴忎篃鍙互鍦ㄨ繑鍥炰箣鍓嶇珛鍒誨緱鍒頒笅闈㈢殑N涓暟鎹傚浘浜斿垪鍑轟簡瀹㈡埛绔拰鏈嶅姟鍣ㄧ緇勪歡鐨勪氦浜掍綔鐢ㄧ殑榪囩▼銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14><IMG src="http://www.huihoo.com/corba/i/01_8_20_6e.jpg" border=0> </TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>褰撳鎴風鍒濆鍖栦竴涓姹傛椂錛屽鎴風鐨勪唬鐞嗙▼搴忛鍏堟鏌ョ紦鍐蹭腑鏄惁宸茬粡瀛樺湪璇ヨ姹傜殑緇撴灉銆傚鏋滅紦鍐蹭腑娌℃湁鐩稿叧鐨勪俊鎭紝浠g悊灝變細鍚戞湇鍔″櫒鍙戝嚭鏌ヨ璇鋒眰銆傛煡璇㈢殑緇撴灉鏄釜榪滅鐨処terator錛堜竴涓猚orba瀵硅薄鐨勫彞鏌勶級錛屽茍淇濆瓨鍦ㄥ鎴風鐨勪唬鐞嗕腑銆傛帴涓嬫潵鐨勫鎴風璇鋒眰灝嗕細媯绱竴涓垨涓鍫嗙殑浜у搧淇℃伅銆傚綋鐒訛紝浣犱篃鍙互鎶婁駭鍝佷俊鎭繚瀛樺湪緙撳啿鍖恒傚綋鍒濆鍖栦竴涓柊鐨勬煡璇㈡椂錛屼綘涔熷彲浠ュ厛娓呴櫎鎺夌紦鍐蹭腑鐨勪俊鎭備笅闈㈢殑浠g爜閲嶆柊瀹氫箟浜嗗疄鐜頒簡ProductServiceProxy鎺ュ彛銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Public class ProductServiceProxy</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>private int nItems=15;</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>private ProductIterator remoteIterator;</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>private static ProductServiceProxy instance;</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>private ProductServiceProxy() {}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>public static ProductServiceClient getInstance()</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>if(instance==null)</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>instance=new ProductServiceProxy();</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>return instance;</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14></TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>public ArrayList getProducts(String group,String category,String </TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>status) throws SomeException</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>ArrayList ProductList = new ArrayList();</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>Try</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>ProductService productService= locateRemoteProductService();</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>If(productService==null)</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>//return empty list or throw user defined exception</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>try</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>remoteIterator=productService.getProducts(鈥?.);</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>catch(SystemException se){//handle exception}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>catch(Exception e){//handle exception}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>return this.getMoreProducts(nItems);</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>public ArrayList getMoreProducts(int nItems) throws SomeException</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>{</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>//retrive the next 10-15 items using cache iterator</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>鈥?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>}</TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>鐢變簬榪滅鐨勮凱浠g被錛圛terator錛夋槸涓殏鏃剁殑CORBA瀵硅薄錛屽畠瑕佷緷璧栦簬鏈嶅姟鍣ㄧ紼嬪簭鐢熷懡鍛ㄦ湡銆傚洜姝わ紝緋葷粺鐨勮璁′竴瀹氳淇濊瘉鍦ㄥ鎴風紼嬪簭瀹屾垚涔嬪墠錛岃瀵硅薄涓瀹氳瀛樻椿銆?/TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14><B><FONT size=4>涓夛紟緇撹銆?/FONT></B></TD></TR></TBODY></TABLE> <TABLE width="100%"> <TBODY> <TR> <TD class=a14>浼佷笟綰у簲鐢ㄧ▼搴忕殑璁捐姣旇緝澶嶆潅銆傚墠鏈熺殑璁捐瀵逛互鍚庣郴緇熺殑鎬ц兘浼氭湁寰堝ぇ鐨勫獎鍝嶃傝屽湪CORBA鐜涓紝IDL鐨勮璁″氨鏄懼緱灝や負閲嶈銆傚ソ鐨処DL璁捐錛屽厖鍒嗗埄鐢↗DK鐨凙PI錛屽璁℃椂鍣紝鍨冨溇鍥炴敹鏈哄埗錛岄泦鍚堟鏋惰兘澶уぇ鐨勬彁楂樼郴緇熺殑鎬ц兘銆備粠鑰岃兘鏋勯犱竴涓己澹殑錛岄珮搴﹀彲鐢ㄧ殑鍒嗗竷寮忕郴緇熴?/TD></TR></TBODY></TABLE><img src ="http://www.tkk7.com/kapok/aggbug/9595.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.tkk7.com/kapok/" target="_blank">絎ㄧ</a> 2005-08-08 18:24 <a href="http://www.tkk7.com/kapok/archive/2005/08/08/9595.html#Feedback" target="_blank" style="text-decoration:none;">鍙戣〃璇勮</a></div>]]></description></item><item><title>IDL Basishttp://www.tkk7.com/kapok/archive/2005/08/08/9591.html絎ㄧ絎ㄧMon, 08 Aug 2005 10:05:00 GMThttp://www.tkk7.com/kapok/archive/2005/08/08/9591.htmlhttp://www.tkk7.com/kapok/comments/9591.htmlhttp://www.tkk7.com/kapok/archive/2005/08/08/9591.html#Feedback0http://www.tkk7.com/kapok/comments/commentRss/9591.htmlhttp://www.tkk7.com/kapok/services/trackbacks/9591.htmlhttp://www.huihoo.org/orbit/gnome_corba/idl-basics.html

IDL 鍩虹

IDL 妯″潡鍜屾帴鍙?/A>

鍦ㄤ換浣曢」鐩腑(浜︽垨鍚嶅瓧絀洪棿涓?閮藉彲鑳藉瓨鍦ㄥぇ閲忕殑 CORBA 瀵硅薄錛屽鏋滄墍鏈夎繖浜涘璞¢渶瑕佹湁鍞竴鐨勫悕瀛楅偅涔堜竴瀹氫細鏈夊悕瀛楃┖闂村啿紿併傛墍浠?IDL 鍏佽瀹氫箟妯″潡(module)錛屾ā鍧楁寚瀹氫竴涓嫭绔嬬殑鍚嶅瓧絀洪棿錛岀被浼間簬 C++ 鐨勫悕瀛楃┖闂寸殑鍔熻兘鎬с傜幇鍦ㄥ浜庝換浣曟帴鍙i兘鍙互鎸囧畾妯″潡錛屽氨璞′笅闈緥瀛愬睍紺虹殑閭f牱錛?/FONT>

module FruitsBasket {
        interface Apple {};
        interface Orange {};
};
      

鍦ㄨ繖閲岋紝鎴戜滑鍦?FruitsBasket 妯″潡涓畾涔変簡涓や釜瀵硅薄錛?Apple 鍜?Orange銆傚鏋滄垜浠浠庡叾浠栨ā鍧椾腑寮曠敤涓涓璞★紝鎴戜滑蹇呴』緇欏嚭瀹屽叏鐨勫璞″紩鐢紝渚嬪錛屼粠 VegetablesBasket 妯″潡涓紩鐢?nbsp; Apple 瑕佽繖鏍峰仛錛欶ruitsBasket::Apple銆?/FONT>

涔熷彲鑳介噸鏂版墦寮鍚屼竴涓ā鍧楁潵澧炲姞鎺ュ彛瀹氫箟錛氫笅闈㈢殑渚嬪瓙涓ユ牸鐨勭瓑浠蜂簬涓婁竴涓?/FONT>

module FruitsBasket {
        interface Apple {};
};

module FruitsBasket {
        interface Orange {};
};
      

IDL璞?C++ 涓鏍蜂篃鏈夐緙栬瘧瀹忔寚浠?directive): 鏀寔 #include 鍜?#pragma (榪欎簺瀹忔寚浠ょ敱 idl-compiler 灞曞紑)銆?#include 鍚屽湪 C/C++ 涓湁綾諱技鐨勮涔夈傚厑璁鎬綘鍑轟簬娓呮櫚鐨勭洰鐨勮屾妸鍦ㄥ悓涓涓ā鍧椾腑鐨勪笉鍚岀殑鎺ュ彛鍒嗛殧鍦ㄤ笉鍚岀殑鏂囦歡涓?/FONT>

/* 榪欐槸涓涓?C 寮忔牱鐨勬敞閲?*/
// 榪欐槸涓涓?C++ 寮忔牱鐨勬敞閲?: 涓よ呴兘鏈夋晥 
// 榪欎簺浠g爜鍦?apple.idl 鏂囦歡涓?

#include "orange.idl"
module FruitsBasket
        interface Apple {};
};
      
// 榪欎簺浠g爜鍦?orange.idl 鏂囦歡涓?
module FruitsBasket
        interface Orange {};
};
      

IDL 綾誨瀷

鍥犱負 IDL 鐨勪富瑕佺洰鐨勬槸瀹炵幇鍦ㄤ笉鍚岀殑璇█銆佹満鍣ㄥ拰鎿嶄綔緋葷粺涔嬮棿鐨勫彲縐繪鎬э紝浠栨槸寮虹被鍨嬬殑銆傝繖閲屾槸鏈鍩烘湰(鏍囧噯)鐨?CORBA 綾誨瀷:

琛?1-1. 鍩烘湰 CORBA 綾誨瀷

綾誨瀷 鎰忎箟
short 16 bit signed integer
unsigned short 16 bit unsigned integer
long 32 bit signed integer
unsigned long 32 bit unsigned integer
long long 64 bit signed integer
unsigned long long 64 bit unsigned integer
float 32 bit IEEE float
double 64 bit IEEE float
long double 128 bit float
boolean boolean value: TRUE or FALSE
octet 8 bit byte
char 8 bit character (ISO latin-1)
wchar 鍥介檯瀛楃鏍煎紡. FixMe: 璋佺煡閬撹繖涓牸寮?
string 鍩轟簬 char 鐨勫瓧絎︿覆
wstring 鍩轟簬 wchar 鐨勫瓧絎︿覆

瀹冧滑鐨勪嬌鐢ㄦ槸闈炲父鐜囩洿鐨? 榪欐湁涓浜涗嬌鐢ㄤ簡瀛楃涓插拰嫻偣綾誨瀷鐨?IDL 鎺ュ彛澹版槑:

module FruitsBasket {
        interface Apple {
                attribute string color;
        };
        interface Orange {
		        attribute float size;
        };
};

姣忎釜瀵硅薄寰楀埌涓涓誕鐐圭被鍨嬫垨瀛楃涓茬被鍨嬬殑灞炴с?/FONT>

鏈夎禆浜巆onst 淇グ(灝辮薄鍦?C++ 涓? IDL 鍏佽浣犲畾涔夊父閲忋傝繖閲屾湁涓浜涙牱渚?IDL 浠g爜:

module FruitsBasket {
        interface Apple {
                attribute string color;
                const float weight = 2.3;
                const string type = "sample type";
        };
        interface Orange {
                attribute float size;
        };
};
        

浣跨敤 typedef 鍏抽敭瀛楀氨鍙互瀹氫箟浣犺嚜宸辯殑綾誨瀷(榪樻槸寰堣薄鍦?C 鍜?C++ 涓?銆傚張鏄竴涓牱渚嬩唬鐮侊紝榪欓噷瀹氫箟浜嗕竴涓湁鑷畾涔夌殑綾誨瀷灞炴х殑 Apple 瀵硅薄錛岃嚜瀹氫箟鐨勭被鍨嬫槸涓涓瓧絎︿覆銆?/FONT>

module FruitsBasket {
        typedef string fruit_type;

        interface Apple {
               attribute fruit_type type; 
        };

        interface Orange {
        };
};
        

鎴戜滑涔熸湁鏍囧噯鐨?C/C++ 緇撴瀯錛屾灇涓懼拰闃靛垪銆傜粨鏋勶紝鏋氫婦鍜屽畾闀?fixed size)闃靛垪璞?typedef 涓鏍風畝鐩村氨鏄?C 浠g爜錛?/FONT>

module calendar {
        enum a_month {
                january, february, march, april, may, june, 
                july, august, september, october, december
        };

        enum a_day {
                monday, tuesday, wednesday, thursday, 
                friday, saturday, sunday
        };

        typedef long a_year;
        struct a_date {
                a_day    the_day;
                a_month  the_month;
                a_year   the_year;
        };

        interface calendar {
                attribute a_date the_date;

                // 涓緇撮樀鍒?
                typedef a_date a_date_array[20];
                attribute a_date_array the_date_array;

                // 浜岀淮闃靛垪
                typedef a_date_array a_date_array_multi[20]; 
                attribute a_date_array_multi the_date_array_multi;
        };
};
        

鍙橀暱(Variable-size)闃靛垪鍦?CORBA 涓彨搴忓垪(sequence):

module calendar {

        interface calendar {
                /* 瀹氫箟浜嗕竴涓竴緇?long 闃靛垪(鏁扮粍)
                 * 鏈澶ч暱搴︽槸 20. 
                 */
                typedef sequence <long,20> array_1;
                // 涓涓棤杈圭晫鐨?unbounded)鐨勪竴緇村瓧絎︿覆闃靛垪
                typedef sequence <string> array_2;

                // 鏇村鏉傜殑: 涓涓簭鍒楃殑搴忓垪
                // 鐢ㄤ簬妯℃嫙澶氱淮鍙橀暱闃靛垪
                typedef sequence <sequence <long,20> > array_3;
        };
};
        

IDL 鏂規硶

鎵鏈夎繖浜涙爣鍑嗙殑綾誨瀷鍏佽緙栫▼鑰呭畾涔夊璞$殑灞炴у拰鏂規硶銆傚璞℃柟娉?鍑芥暟)榪欐牱澹版槑錛?/FONT>

module FruitsBasket {
        interface Apple {

                // eat_me 鏂規硶鐨勫0鏄?
                // 鏈変竴涓?boolean 鍙橀噺浣滀負鍙傛暟
                void eat_me (in boolean eat_yes_or_not );

                // 榪斿洖 Apple 鏄惁琚悆浜?
                boolean eaten ();

                // 榪斿洖 Apple 鏄惁琚悆浜?
                // 鍜屽悆瀹冪殑浜虹殑濮撳拰鍚?    
                boolean who_ate ( out string who_surname, out string who_name );
        };
};
      

闄や簡 in 淇グ錛岃繖浜涘0鏄庨潪甯歌薄 C++ 浠g爜: 鍙傛暟鐢?in, out, inout 涓夌綾誨瀷涔嬩竴鏉ヤ慨楗般傚畠浠殑璇箟濡備笅錛歩n 鍙傛暟鏄鎴峰悜瀵硅薄鍙戦佺殑鏁版嵁錛宱ut 鍙傛暟鏄璞″悜瀹㈡埛鍙戦佺殑鏁版嵁錛宨nout 鍙傛暟鍏堜粠瀹㈡埛鍙戦佸埌瀵硅薄錛屽啀琚繑鍥炵粰瀹㈡埛銆?/FONT>

鎵鏈夎繖浜涙柟娉曞0鏄庨兘鏄悓姝ユ搷浣滐紝灝辨槸璇達紝浣跨敤榪欎簺鏂規硶鎰忓懗鐫浣犵殑紼嬪簭灝嗙瓑鍒板璞″簲絳斾箣鍚庢墠緇х畫鎵ц銆傚彲浠ュ畾涔夊紓姝ョ殑鏂規硶錛岃繖鏍風殑璇濊皟鐢ㄦ柟娉曠殑紼嬪簭鍙互緇х畫鎵ц鑰屼笉鏄湪瀵硅薄榪斿洖搴旂瓟涔嬪墠涓鐩撮樆濉烇紝寮傛鏂規硶鐨勫0鏄庣敤鍏抽敭瀛?oneway(鍗曞悜)銆?/FONT>

module FruitsBasket {
        interface Apple {
                // eat_me 鏂規硶鐨勫0鏄?
                // 鏈変竴涓?boolean 鍙橀噺浣滀負鍙傛暟
                void eat_me (in boolean eat_yes_or_not );

                // 榪斿洖 Apple 鏄惁琚悆浜?
                // 寮傛鏂規硶
                oneway boolean eaten ();

                // 榪斿洖 Apple 鏄惁琚悆浜?
                // 鍜屽悆瀹冪殑浜虹殑濮撳拰鍚?    
                boolean who_ate ( out string who_surname, out string who_name );
        };
};
        

涔熷彲浠ュ畾涔変緥澶?exception)(綾諱技浜?C++ 鐨勪緥澶栫被)銆?/FONT>

module FruitBasket {

        exception no_more_fruits {
                string reason;
        };

        interface Apple {
                // 鎴戜滑鎵甯屾湜鐨勫悇縐嶇殑鏂規硶
        };
};
        

鏈緇堬紝鍙互璞′笅闈㈣繖鏍峰0鏄庢湁鑳藉姏寮曞彂(throwing)渚嬪鐨勬柟娉曘?/FONT>

module FruitsBasket {

        exception no_more_fruits {
                string reason;
        };

        interface Apple {
                void eat_me (in boolean eat_yes_or_not ) raises ( no_more_fruits );
                // 鎴戜滑鎵甯屾湜鐨勮濡傛綾葷殑鏂規硶
        };
};
        

璞?C++ 鐨勭被(鎴?Java 鐨勬帴鍙?錛屾帴鍙e彲浠ヤ粠鍏朵粬鐨勬帴鍙g戶鎵匡紝騫朵笖鏀寔澶氱戶鎵?multiple inheritance)銆傝娉曠被浼間簬 C++ 鐨勮娉曘備竴涓噸瑕佺殑涓嶅悓鏄?IDL 涓嶆敮鎸侀噸杞芥垨涓嶅悓鐨勬柟娉曞彲浠ユ湁鐩稿悓鐨勫悕瀛楀拰涓嶅悓鐨勫弬鏁拌鏄?signature)銆?/FONT>

module FruitsBasket {
	         
        exception no_more_fruits {
                string reason;
        };

        interface generic_fruit {
                void eat_me (in boolean eat_yes_or_not ) raises (no_more_fruits);
                oneway boolean eaten ();
        };

        interface generic_fruit_one {
                boolean who_ate ( out string who_surname, out string who_name );
        };

        interface Apple : generic_fruit, generic_fruit_one {
                // 榪欓噷鏄壒瀹氫簬 Apple 鐨勬柟娉?
        };
};
      

鎴戜滑灞曠ず浜嗗悇縐?IDL 綾誨瀷錛屼竴浜涚敓鎴愭柊鐨勬帴鍙e拰灞炴с佹柟娉曘佷緥澶栫殑澹版槑鐨勬柟寮忋傛劅鍏磋叮鐨勮鑰呭彲浠ヤ粠 CORBA 鏍囧噯涓鍒版潈濞佺殑 IDL 瀹氫箟騫朵笖鐪嬪埌涓浜涜ˉ鍏呯殑綾誨瀷璞?any銆乀ypeCode銆乽nion銆備絾榪欎簺綾誨瀷瀵逛簬鏈枃涓嶆槸寰堥噸瑕佺殑銆?/FONT>



絎ㄧ 2005-08-08 18:05 鍙戣〃璇勮
]]>
主站蜘蛛池模板: 久久久久亚洲精品无码系列| 亚洲第一页综合图片自拍| 久久精品国产亚洲沈樵| 色爽黄1000部免费软件下载| 国产精品视频免费一区二区三区| 亚洲人成电影网站色| 18禁超污无遮挡无码免费网站国产| 亚洲乱码日产精品BD在线观看| **aaaaa毛片免费| 亚洲毛片无码专区亚洲乱| 黄色网址免费大全| 亚洲AV成人影视在线观看| 成人片黄网站色大片免费| 亚洲欧洲无卡二区视頻| 免费人成网站在线高清| a级毛片免费观看在线| 精品国产综合成人亚洲区| 性xxxx视频免费播放直播| 亚洲国产综合第一精品小说| 最近中文字幕无免费视频| 国产亚洲精品91| 亚洲精品你懂的在线观看| 99精品视频免费观看| 亚洲成a人片在线看| 免费观看国产小粉嫩喷水| 永久免费无码网站在线观看个 | 成熟女人牲交片免费观看视频| 日本亚洲色大成网站www久久 | 免费人成网站在线播放| a级片免费在线观看| 亚洲欧洲日产国码在线观看| 国产无遮挡吃胸膜奶免费看 | 无码不卡亚洲成?人片| 中国黄色免费网站| 亚洲人成网网址在线看| 四虎国产精品免费视| 久久精品成人免费观看| 亚洲成av人片在www鸭子| 亚洲精品狼友在线播放| 老司机在线免费视频| 一级人做人a爰免费视频|