Ho iniziato a leggere Domain Driven Design .
Ho una situazione in cui una radice aggregata ha un oggetto figlio che ha bisogno dell'interazione DB per poter eseguire la sua logica di business perché una delle costanti utilizzate viene salvata nel DB.
Esempio:
- L'utente crea un
Customer
- L'utente crea un
Review
su quelCustomer
-
Review
potrebbe essere approvata se l'età diCustomer
è inferiore acutoffAge
- La costante
cutoffAge
utilizzata nella logica aziendaleReview
viene salvata nel DB
class Customer {
constructor(name, age) {
this.name = name;
this.age = age;
this.review = null;
}
createReview() {
this.review = new Review(this.age);
}
}
class Review {
constructor(age) {
// Where 'approvalAgeCutoff' value should really come from the DB
this.approvalAgeCutoff = 10;
this.needsApproval = false;
if (age < this.approvalAgeCutoff) {
this.needsApproval = true;
}
}
}
// Usage
const customer = new Customer('John Doe', 15);
customer.createReview();
Qual è un modo consigliato di gestirlo senza aggiungere codice di interazione DB nell'oggetto child Review
?