论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。
本文来自博客园,作者:{咏南中间件},转载请注明原文链接:https://www.cnblogs.com/hnxxcxg/p/16202231.html