In DDD, va bene se la creazione di una AR forza la creazione di un'altra AR? Prendi ad esempio:
class User
{
// User related functins
}
class Schedule
{
// Schedule related functions
}
class Scheduler
{
private ScheduleRepository repo; // injected
public void Schedule(User user, Event event)
{
Schedule schedule = repo.FindByUser(user);
schedule.Add(event);
repo.Save(schedule);
}
}
Esiste una mappatura 1: 1 tra utente e programma. Quando un utente viene creato devono avere un programma. Non riesco a capire perché un programma esisterebbe senza un utente. Inoltre, quando un utente viene rimosso dal roster / database, desidero che la loro vecchia pianificazione rimanga nel database di pianificazione.
L'oggetto Utente non avrà un riferimento alla loro pianificazione effettiva. Dovresti utilizzare l'oggetto Scheduler per pianificare effettivamente l'evento. L'utente avrebbe un ID privato e numerose proprietà di identità come "Nome", "Email", ecc.
Sono sopraffatto da questo? Inoltre, quando viene creato un utente, suppongo che avrei bisogno di interrogare il UserRepository per ottenere l'ID (PK?) Da associare all'oggetto Schedule.