I'm a big fan of domain driven design. One of the key concepts of that approach are what are called value objects: objects that are considered identical because they have the same values in their ...
Java developers have spent decades working with a basic assumption about objects: every object has its own identity. Now, OpenJDK developers are preparing to loosen that rule with JDK 28.