Data can change

2026-03-15 23:27

Status: #child

Tags: #software

Data can change

Object-oriented designs have a major future-proofing issue. Real world changes such as change of user's needs, input format, quantity, frequency, and route by which the information is transformed, are not handled with grace.

The object-oriented approach will always suffer from the inertia inherent in keeping the problem domain coupled with the implementation.

The data-oriented approach only considers things through the lens of the meaning of the data. Transforms can be coupled and de-coupled and objects can be mutated and reused.

The idea that data can be generic is a false claim that data-oriented design attempts to rectify. The transforms can perhaps be generic to some extent, but the order and selection of operations are literally the solution to the problem.

For example, one might store many things as a vector of integers. These objects can certainly mean different things however even though the data is the same.

Data-oriented design makes use of the domain specific knowledge. Health values would have small integer ranges, tile heights would have spatial locality, and network packets would have burst patterns.

Sometimes, it can be better to write domain-specific algorithms instead of generic containers and algorithm combos. One can complain about this being a violation of DRY or being a hard thing to read, but at the end of the day it serves the variation in data better.

References

Tags:

Software