在我開始使用CORBA之前,我想知道一些事情。CORBA:CORBA IDL類型可以是另一個屬性嗎?
對我而言,您可以使用IDL類型作爲另一個屬性,然後將該屬性的方法公開給客戶端應用程序(使用「。」),這似乎很直觀。
但是這可能嗎?
例如(原諒我的壞IDL):
interface Car{
attribute BrakePedal brakePedal;
//...
}
//then.. (place above)
interface BrakePedal{
void press();
//...
}
//...
然後在客戶端應用程序,你可以這樣做:myCar.brakePedal.press();
CORBA似乎糟糕的,如果你不能做到這幾樣多級別爲 對象接口。畢竟,真實世界的對象是多層次的,對嗎?因此,如果這肯定能起作用,那麼有人會讓我放心,並確認(或者嘗試,如果您已經有CORBA設置)?沒有一個IDL文檔在示例中明確顯示了這一點,這就是我擔心的原因。謝謝!
我認爲你只是不瞭解屬性。屬性是功能的簡稱。在這種情況下,您正在調用「讀取」功能。第二級調用發生在客戶端。服務器完全沒有意識到,當你進行屬性「讀取」調用時你會這樣做,所以它不能被「優化」。它不知道你要用這個對象引用做什麼。不,我不認爲我們會看到一個新的主要版本的CORBA。它現在僅被用於少數幾個專門的小衆應用程序和遺留應用程序。 – 2010-08-26 17:00:42