In computing, Data oriented design (not to be confused with data-driven design) is a software optimisation approach motivated by cache coherency, used in video game development. The approach is to focus on the data layout, separating and sorting fields according to when they are needed, and to think about transformations of data, rather than following an object-oriented design methodology. In this approach code follows data, rather than the other way round. The claim is that object-oriented design principles result in poor data locality, especially if runtime polymorphism is used.
The techniques became especially popular during the PS3 and xbox 360 console generation when the hazards of cache misses became pronounced due to their use of in-order processors and high clock speeds.
Proponents include Mike Acton.
See also
- ^ "data oriented design" (PDF).