wiz*_*rdz 21 paradigms programming-languages
任何人都可以向我解释
小智 19
首先我要说的是,面向数据的设计和数据驱动的编程并不相同!
在面向对象的编程中,您专注于单个对象(类 - 其方法,成员等).在面向数据的设计中,您正在考虑如何触摸和处理数据.您只需要一个将输入数据处理为输出数据的框(理想输入数据与输出相同).
所有这些都是为了编写高性能应用程序而创建的.您正在研究同类线性数据 - 所有这些都可以充分利用CPU缓存(指令和数据).
每当你可以尽量避免的层次结构(使用数组来代替),尝试编写在多个数据工作的功能和使用热和冷结构分裂.
int Foo(int* input_data, int count)
{
// do something with your data
}
Run Code Online (Sandbox Code Playgroud)
顾名思义,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