深入理解Summit: 数据结构及用法-rtdata

介绍之前我们讲个小故事以方便大家更深入的理解.

比亚迪在江苏有个大工厂, 汽车就是从工厂的车间里面出来的. 但并不是所有零件都是产自于该工厂, 此工厂就做一些汽车框架之类框架性的大件东西.用于汽车装配. 至于小零件都是外协来的. 堆放于工厂的不同仓库.

1:汽车架子.(自产)

2: 轮胎(外协) 

3:方向盘(外协)

4: 其它(自产/外协)

当然,组装这些东西需要有一些前期条件. 这些东西尺寸上都能衔接, 不然汽车轮子, 卡车方向盘.装上就不好看.

这些尺寸都是预先会跟外协厂商沟通好. 也就是来图加工.

.扯远了.正题:

以下所有均使用Summit文档中的数据结构举例. 

typedef struct sENTITY_struct
{
   char            * Name;              
   int               Size;              
   int               NumberOfProperties;
   sPROPERTY       * Properties;        
   sINTERFACE      **Interfaces;    
   ...
}sENTITY;
//有对象的一眼应该就看出来了, C面向对象的写法.  有属性, 方法. 实际就是个类.

typedef struct sMetaModel
{
   int                  NumberOfTableEntities;
   int                  NumberOfEntities;
   sENTITY           ** AllEntities;
   sENTITY_NAME_REC   * EntityNames;
   ...
}sMETAMODEL;
//有10个孩子以上的家庭应该对这个数据结构沈有体会,孩子多了当然得集中管理了,不然不好管.

//这就是好比银行中已经存放了各个种类的现金.并做了标记, 就等你去抢了. 
sMETAMODEL sGlobalMetaModel = 
{
   sizeof( MetaModelTableEntities ) / sizeof( sENTITY * ),
   sizeof( MetaModelAllEntities ) / sizeof( sENTITY * ),
   MetaModelAllEntities,
   EntityNames,
};

//这就是你要去抢钱的通道.心灵传输者看过吗? 对, 后续就通过这种途径、去抢钱.抢粮.抢...
sMETAMODEL * sGetGlobalMetaModel()
{
   return &sGlobalMetaModel;
}

以上就是对SUMMIT数据模型的一个简单介绍.

当然. 现在C++/JAVA/ ETC面向对象的用法比较好玩.那接下来就用C++来重构一下它吧.

class Entity : public BasicEntity , implements IEntity
{
private:
    string      _Name;
    int         _Size;
    void      * _Data;
    Property  * _Props;
    Iface     * _Ifaces;
    ...
};

IEntity * ETS[] = 
{
  new MM("MM", "cMM"),
  new FXSPOT("FXSPOT"),
  new FXFWD("FXFWD"),
  new FXSWAP("FXSWAP"),
  NULL
};

class nMetaModel
{
private:
  static IEntity   ** IE;
  ...
public:
  nMetaModel(){}
};

nMetaModel * sGlobalInit()
{
   return new nMetaModel(); 
}

后续将继续介绍Summit的各种数据结构的含义以及用法.并用C++的方法一一重构它.且听后续如何, 静待下回撤蛋...

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值