论data-model序列和dataset序列

论data-model序列

用record和array of record做 data model,可以用于binary\json\xml.... 数据序列和还原
主流语言 目前也都是这么干的
delphi 10.2开始,官方也意识到了这个

这和dataset也毫无违和,因为dataset在数据结构上就是array of record

有了这个data model, orm,跨语言都好办。

其实不光JSON,连binary..等 都可以这么搞。

dataset是delphi 90年代乃以兴起的法宝,现在仍是最强之一。dataset同data model并不相冲突。

以上,也是目前IDL的中心思想。

有别于delphi传统以dataset(数据表)为关注中心,data model更加贴合rest架构思想,以资源为中心,以及围绕该资源的动作,这是反应在代码封装思想上的不同。

 rest其实是一种架构思想,微服务无疑引申了这种思想。

围绕dataset封装,可以有效地减少接口数量,围绕data-model 封装,接口数量相对较多。

官方在研发D2009 DATASNAP REST的时候,似乎还没有意识到 自描述性的json的基准是 data model。

对于古老的DELPHI来讲,在ioT和云平台时代,数据序列无论是binary,json。。。实现上必须完成从dataset到data model的转变,否则在数据上无法同主流语言勾通。

rest是围绕以资源为中心进行封装 ,数据集是以数据表为中心进行封装 ,datasnap rest习惯性的以数据表为中心进行封装。 
官方大概到d10.2时候才意识到这个问题 。
20年前大约是以数据表为中心进行封装 架构思想流行。 
而现在的主流架构思想已经发生变化。
对于古老语言来说 明显积重难返 。
看delphi xx jsonDataset.. 就知道是围绕表封装的,rest架构思想,核心是围绕资源封装,其实rest api不限于json,虽然许多人弄的rest api只限于json。

posted @ 2022-04-28 11:40  delphi中间件  阅读(259)  评论(0编辑  收藏  举报