任何人都可以向我解释
答案 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。