Data-oriented programming encourages us to model data as (immutable) data,
and keep the code that embodies the business logic of how we act on that data separately.
ⓒ Brian Goetz
When we're modeling complex entities, OO techniques have a lot to offer us. But when we're modeling simple services that process plain, ad-hoc data, the techniques of data-oriented programming may offer us a straighter path. ⓒ Brian Goetz
Java Features used
https://www.infoq.com/articles/data-oriented-programming-java/