【发布时间】:2013-03-11 11:53:00
【问题描述】:
我是 DDS 和 IDL 的新手,我希望有人可以就如何在 IDL 中建模以下内容提供一些建议。
这是基于 OO 角度的模型,它只是作为一个简单的示例:
这是我在 IDL 中的初始数据模型 - 是否正确完成? 如何在 IDL 中“建模”继承和依赖关系?网上的很多例子都很简单——我找到的那些太简单了……
module test{
struct carpool{
long id; //@key
string name;
sequence<car> cars;
};
struct car{
long id; //@key
string color;
};
////the following inherits from car
struct sedan{
string extra_equipment;
};
struct station_car{
integer number_of_doors;
};
};
这只是一个虚构的示例继承,并不是最好的;o)
这是正确的还是有更好的建模方法 - 任何人都可以提供一个好的“HOWTO”链接以使用 IDL for DDS? 注意:我正在使用 RTI Connext DDS
【问题讨论】:
-
好问题——如果我能更好地理解继承树的确切意图,我会回答。在您的模型中,派生类
Toyota和Mazda的用途尚不清楚。为什么不将model属性移到Car类中?如果这样做,则不再需要Toyota和Mazda(从数据分发的角度来看)。还是您没有展示完整的数据模型,是否还有其他属性或类? -
上面的代码只是一个虚构的示例继承,并不是最好的——我已经编辑了一点,希望它现在更有意义。总的来说,我只是想更好地理解 IDL 以及如何采用 OO 模型并将其“翻译”成 IDL。我现在没有实际的模型 - 只是想更好地了解 DDS 和 IDL。