加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

论DELPHI三层的数据序列格式的变化

发布时间:2020-12-15 09:53:59 所属栏目:大数据 来源:网络整理
导读:论DELPHI三层的数据序列格式的变化 要窥三层的数据序列格式,我们可以通过观察DELPHI官方的客户端内存表。 早先流行的是TClientDataSet,它的Data和Delta属性的数据类型都是:OleVariant。 OleVariant其实是微软公司为COM和COM+战略定义的统一的数据序列格式

论DELPHI三层的数据序列格式的变化

要窥三层的数据序列格式,我们可以通过观察DELPHI官方的客户端内存表。

早先流行的是TClientDataSet,它的Data和Delta属性的数据类型都是:OleVariant。

OleVariant其实是微软公司为COM和COM+战略定义的统一的数据序列格式。

早年DELPHI的三层架构就是建立在COM的基础之上的,数据序列自然也就使用OleVariant。

随着软件COM战略的失败,微软公司已经放弃COM战略,现在改为.NET战略了。

DELPHI随之也改变了三层的架构,推出了全新的三层框架:DATASNAP。

全新的FireDac数据引擎,这是一个跨平台的引擎。

相应的客户端内存表,现在主推FDMemTable,它的Data和Delta属性的数据类型都是:IFDDataSetReference。

property Data: IFDDataSetReference read GetData write SetData;
property Delta: IFDDataSetReference read GetDelta;

IFDDataSetReference居然是一个接口类型,这是许多人第一次见所发出的感叹!

  IFDDataSetReference = interface (IUnknown)
    [‘{3E9B315B-F456-4175-A864-B2573C4A2400}‘]
    function GetDataView: TFDDatSView;
    property DataView: TFDDatSView read GetDataView;
  end;

  然而它确实是个接口。没错的。那么,FDMemTable序列的数据类型倒底是什么?这是许多人的疑惑。

答案,我们可以通过看DELPHI官方的DEMO来一一揭晓。

TFDJSONDataSets类型:DATASNAP远程方法支持返回的数据类型,可用于查询返回N个数据集的数据。然而,它只支持WINDOWS服务器。

TFDJSONDeltas类型:DATASNAP远程方法支持的输入参数的数据类型,可用于客户端提交N个数据集的修改后的数据。然而,它只支持WINDOWS服务器。

现在,DELPHI处在物联网AI时代,跨平台是趋势。那么什么是DATASNAP跨平台的数据序列类型呢?

答案是:TStream。没有之一。

TClientDataSet 和OleVariant已经不能适应这个时代,它们已经随风远去,将逐渐从人们的眼线中消逝!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读