面向数据和数据驱动程序之间有什么区别?

问题描述

我对面向数据的设计有一些了解,比如不是为单个对象创建一个类,而是一个包含多个对象的类,例如:

struct Circle { int x,y; int radius;  };

你会:

struct Circles { std::vector<int> xpos; std::vector<int> ypos; std::vector radii };

(希望这是对数据导向设计的正确解读) 但是,是否有数据驱动的方式来做这件事或什么?

解决方法

两者没有关系。数据驱动的编程是关于消耗和产生信息流的过程。想一想:您在管道中链接在一起的 Unix 命令。 DDP涵盖的不仅仅是单线管道;输入和输出的图形网络;甚至以输入为条件的输出路由。在一个进程中,协程网络可能是数据驱动编程的一个例子。维基百科文章很好地涵盖了这一点。

面向数据的设计关注复杂数据的存储方式;为了缓存有效性,或通过生成副本来消除锁争用。数据的列与行存储是 DoD 的数据库应用程序。作为一个副作用,国防部似乎与 OOD 交锋。后者试图隐藏对象基础数据。 DoD 公开数据,因此用户可以选择以最适合实际存储的方式处理结构化集合。维基百科的文章有点薄。

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...