При просмотре проекта Эванса на примере проекта DDD я заметил, что в сущности Cargo
Эванс использует tracknumber, который является объектом значения. Почему он не выбрал обычный string tracknumber
вместо того, чтобы выбрать объект значения для идентичности? Вот отрывок из Эванса:
public class Cargo implements Entity<Cargo> {
private TrackingId trackingId
}
public final class TrackingId implements ValueObject<TrackingId> {
private String id;
/**
* Constructor.
*
* @param id Id string.
*/
public TrackingId(final String id) {
Validate.notNull(id);
this.id = id;
}