什么是面向数据的编程? [关闭]

问题描述 投票:22回答:3

谁能向我解释

  1. 什么是面向数据的编程?
  2. 面向数据的编程和函数式编程是否相同?
  3. 面向数据的编程与面向对象的编程有何不同?
  4. 在什么情况下我们会选择面向数据的编程语言而不是面向对象的编程语言?
programming-languages paradigms
3个回答
21
投票

首先,我要说的是面向数据的设计和基于数据的编程是不相同的!

在面向对象的编程中,您只关注单个对象(类-其方法,成员等)。在面向数据的设计中,您正在考虑如何处理和处理数据。您只有一个框,用于将输入数据处理为输出数据(理想的输入数据与输出相同)。

所有这些都是为了编写高性能应用程序而创建的。您正在处理同质线性数据-所有这些都将充分利用CPU缓存的全部优势(指令和数据)。

[只要有可能,请尝试避免使用层次结构(改为使用数组),尝试编写可在多个数据上使用的函数,并使用hotcold结构拆分。

int Foo(int* input_data, int count)
{
    // do something with your data
}

1
投票

顾名思义,DOP用于开发数据驱动的应用程序。它与OOP不同。有关更多参考,请通过以下链接;

http://www.rti.com/whitepapers/Data-Oriented_Architecture.pdf

Alternate link here,因为上面的那个可能不起作用。

http://en.wikipedia.org/wiki/List_of_programming_languages_by_category#Data-oriented_languages


-4
投票

面向数据的编程只是带有数据库的一种编程语言,您可以创建表和查询,并进行程序来操作存储在其上的数据,面向数据的语言示例为SQL,DBase和Visual Foxpro。

© www.soinside.com 2019 - 2024. All rights reserved.