Ho una classe utente
class User{
public User(string id){
this.User_Id = id;
}
public string User_Id{get;private set;}
}
Quando creo User in Application Layer. Sto verificando se esiste un utente nel sistema con quell'ID. Quindi la mia domanda che dovrei controllare questa logica nel livello di applicazione o in fabbrica quindi voglio creare
public class User_Factory
{
public static User Create_With_Id(string id,
User_Repository user_Repository)
{
User exists_User = user_Repository.Find_By_Id(id);
if (exists_User != null)
throw new Exception();
return new User(id);
}
}
nel livello Dominio e chiama questo stabilimento nel livello Applicazione.