Sto cercando di capire come le entità operano in più contesti limitati.Entità in contesti limitati nella progettazione guidata dal dominio
Dato un impiegato di una società. In (ad esempio) il contesto Risorse umane, questa persona ha un nome, cognome, indirizzo, numero di riferimento di stipendio e conto bancario. Ma nel contesto Contabilità tutto ciò che è rilevante è il numero di riferimento del salario e il conto bancario.
Hai un'entità dipendente nel contesto delle risorse umane e un valore di tipo (ad esempio SalariedEmployee
) nel contesto Contabilità?
class Employee
{
public BankAccount BankAcountDetails { get; set; }
public string FullName { get; set; }
public Address ResidentialAddress { get; set; }
public string SalaryRef { get; set; }
}
SalariedEmployee
classe (??): Dipendente value-type
class SalariedEmployee
{
public SalariedEmployee(string salaryRef, BankAccount bankAcountDetails)
{
...
}
public string SalaryRef { get; }
public BankAccount BankAcountDetails { get; }
}
Fa il HRService nel contesto limitato restituire queste informazioni? O usi la classe Employee in entrambi i contesti?
Stai dicendo che l'esempio che ho dato sopra è una buona idea o che è "consentita" e comune in DDD? – Asher
È una bella idea. Rende molto chiaro che il contesto contabile non distingue tra dipendenti stipendiati per quanto riguarda qualsiasi logica aziendale. Devi solo essere sicuro che il contesto contabile non avrà mai bisogno di differenziarli. –