什么是面向数据的编程?

时间:2010-11-08 09:47:43

标签: programming-languages paradigms

任何人都可以向我解释

  1. 什么是面向数据的编程?
  2. 面向数据的编程和函数式编程是否相同?
  3. 面向对象的编程与面向对象的编程有何不同?
  4. 在什么情况下我们选择面向对象编程语言的面向数据的编程语言?

3 个答案:

答案 0 :(得分:19)

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

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

所有这些都是为了编写高性能应用程序而创建的。您正在研究同类线性数据 - 所有这些都可以充分利用CPU缓存(指令和数据)。

只要你可以,尽量避免使用层次结构(改为使用数组),尝试编写适用于多个数据的函数,并使用 hot cold 结构拆分。< / p>

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

答案 1 :(得分:0)

顾名思义,DOP旨在开发数据驱动的应用程序。它与OOP不同。如需进一步参考,请浏览以下链接;

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

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

答案 2 :(得分:-4)

面向数据的编程只是一种带有数据库的编程语言,可以创建表和查询,程序可以操作存储的数据,例如面向数据的语言是SQL,DBase和Visual Foxpro。