Rewriting updating maintenance procedures
By keeping in mind that flow of data, we can make higher-level, more intelligent decisions based on how the data is transformed, and how it is used.That kind of optimization can be extremely difficult and time- consuming to implement with more traditional OOP methods.So far, all the advantages of data-oriented design have been based around performance: cache utilization, optimizations, and parallelization.There is no doubt that as game programmers, performance is an extremely important goal for us.
We can easily take something like that and split it among multiple threads with minimal synchronization between them.
That kind of optimization is certainly beneficial, but by thinking about the data first we can step further back and make larger, more important optimizations.
Remember that all a game does is transform some data (assets, inputs, state) into some other data (graphics commands, new game states).
In any case, the goal is to minimize the amount of transformations, and whenever possible, you should bake your data into this ideal format offline, during your asset-building process.
Because data-oriented design puts data first and foremost, we can architect our whole program around the ideal data format.