Software Architecture, Design Principles.
be designed to represent entities (objects with a distinct identity) and value objects (objects that describe aspects of the domain with no conceptual identity). For example, a “Product” entity in an inventory system might be a reusable component across various modules of an application.