Sto guardando il codice che è essenzialmente il superamento di un id in giro, per esempio:Che vantaggio c'è nel wrapping di un tipo semplice in una classe?
GetPersonById(int personId)
Ma invece di usare un int, ha usato un oggetto PersonId.
GetPersonById(PersonId personId)
L'oggetto PersonId è solo un int con qualche codice a mano per renderlo nullable. Così è stato creato nel vecchio .NET quando gli inteble nullable non erano disponibili o esiste uno scopo più elevato per il wrapping di tipi semplici in una classe?
public sealed class PersonId {
private PersonId() {
_isNull = true;
_value = 0;
}
private PersonId(int value) {
_isNull = false;
_value = value;
}
// and so on!
}
È questo codice DDD? –
Un motivo per cui immagino è tenere traccia del ciclo di vita degli oggetti. Forse automatizzare alcuni meccanismi di rilascio dell'ID? – mtsvetkov
@DanielHilgarth - Non posso davvero descrivere il codice in grande dettaglio e non ho ancora capito i pensieri del creatore, ma nel complesso direi che il dominio era lontano dai loro pensieri. Mi piacerebbe sentire come sarebbe usato in DDD, piuttosto che in int (o in una classe Person). – Fenton