Le proprietà dell'entità dovrebbero essere rappresentate da un oggetto valore?

0

Ho letto da qualche parte che dovresti essere generoso nella creazione di oggetti valore per le proprietà delle entità che fanno parte dell'API della classe.

Quindi l'ho fatto con la mia entità di progetto / aggregato, ma sembra ancora strano:

        return new Project(
                new ProjectId( $project->post->ID ),
                new DestinationNumber( $DestinationNumber ),
                new AssociatedClient( $associatedClientId ),
                new NotificationForm( $NotificationFormName ),
                new Status( $project->post->ID, $StatusFieldsAndValues ),
                new Settings( $project->post->ID, $SettingsFieldsAndValues ) 
            );

Tutte queste proprietà di entità hanno getter (come getStatus), il che significa che sono rilevanti per altri servizi o repository. Quindi, dovrei fare lo sforzo di creare un oggetto valore in ogni caso, o c'è una linea da qualche parte? Il mio esempio sembra eccessivo.

    
posta Michael 18.08.2018 - 17:04
fonte

1 risposta

0

Cercando di rispondere alla mia stessa domanda, direi che le proprietà di un'entità dovrebbero essere rappresentate da un oggetto valore se c'è una logica aziendale ad esse collegata, es. un numero di telefono del progetto deve essere di un formato valido, anziché solo una stringa. Ciò non significa che questo è l'unico caso in cui un valore deve essere inserito in un oggetto.

Basato su link .

    
risposta data 29.08.2018 - 13:19
fonte

Leggi altre domande sui tag