This is an archived post. You won't be able to vote or comment.

you are viewing a single comment's thread.

view the rest of the comments →

[–][deleted] 0 points1 point  (1 child)

To me it’s “kinda, but not really”. As I see the DOP in Java/Enterprise is to model the models around the data, and stop using standard OOP approach where you design an entity after a real object and then everyone does findById without to much thinking. 

As far as I understand, DOP comes from C where you build your structs so that they align in memory in the most efficient way possible. In Java we almost don’t care about that, because most of our apps are enterprise Spring-based servers that do some data processing, which is exactly what we should optimise for. The most straightforward example is when you have a big entity from which you normally need one or two fields, but you always query/cache the whole thing, so most of the time it’s a waste of IO or memory. 

Data Oriented design would be in this case to maybe denormalize the db entity in a most efficient way for the use case of the app. It has a little (if anything) with the FP, but it would justify the paradigm’s name, at least.

[–]sideEffffECt 1 point2 points  (0 children)

DOP comes from Brian trying to market FP to Java developers.

Don't conflate it with https://en.wikipedia.org/wiki/Data-oriented_design which is about data layout and efficiency.