谁能向我解释
首先,我要说的是面向数据的设计和基于数据的编程是不相同的!
在面向对象的编程中,您只关注单个对象(类-其方法,成员等)。在面向数据的设计中,您正在考虑如何处理和处理数据。您只有一个框,用于将输入数据处理为输出数据(理想的输入数据与输出相同)。
所有这些都是为了编写高性能应用程序而创建的。您正在处理同质线性数据-所有这些都将充分利用CPU缓存的全部优势(指令和数据)。
[只要有可能,请尝试避免使用层次结构(改为使用数组),尝试编写可在多个数据上使用的函数,并使用hot和cold结构拆分。
int Foo(int* input_data, int count)
{
// do something with your data
}
顾名思义,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
面向数据的编程只是带有数据库的一种编程语言,您可以创建表和查询,并进行程序来操作存储在其上的数据,面向数据的语言示例为SQL,DBase和Visual Foxpro。