Sto facendo un piccolo progetto e volevo mantenerlo semplice da mantenere.
È un software di gestione del noleggio. Per mantenerlo pulito ho deciso di implementare il programma di mappatura dei dati patern, per mantenere gli oggetti del dominio in classi differenti rispetto a quelli che gestiscono la persistenza degli oggetti del dominio.
Ora sono entrato in un punto in cui potrebbe essere utile utilizzare il modello di caricamento lento. Se decido di mostrare tutti i noleggi di film raggruppati per film. Non ho davvero bisogno dei dati di quale film è (solo bisogno del loro ID per il raggruppamento).
Quindi sto pensando a una soluzione come questa:
public class DomObject
{
public double ID;
public bool Loaded;
}
public class Movie : DomObject
{
private string name;
public string Name
{
get
{
if (Loaded)
{ return Name; }
else
{
Movie temp = MovieDataMapper.Get(ID);
this.Name = temp.Name;
return this.Name;
}
}
set;
}
}
public class MovieRental : DomObject
{
public DateTime Start;
public DateTime End;
public Movie RentedMovie;
}
Ma in questo modo il mio oggetto dominio è a conoscenza dell'esistenza del data mapper. C'è un modo migliore / più pulito per fare questo?