Nel mio progetto C # ho bisogno di scambiare i fornitori di dati in futuro, quindi ho creato interfacce per creare futuri fornitori. Ma questa è la prima volta che ho lavorato con interfacce che sono "complesse" o che hanno collezioni e sotto raccolte al loro interno.
Le mie interfacce:
public interface IPortfolio
{
string FirstName { get; set; }
string LastName { get; set; }
int Id { get; set; }
ICollection<IDocument> Documents { get; set; }
}
public interface IDocument
{
string Name { get; set; }
string ExtensionType { get; set; }
int Id { get; set; }
DateTime DateFiled { get; set; }
int Size { get; set; }
ICollection<IPage> Pages { get; set; }
}
public interface IPage
{
int Id { get; set; }
DateTime DateFiled { get; set; }
int Size { get; set; }
}
Le mie classi derivano dalle interfacce:
public class Portfolio : IPortfolio
{
public string FirstName { get; set; }
public string LastName { get; set; }
public int Id { get; set;}
public ICollection<IDocument> Documents { get; set; }
}
public class Document : IDocument
{
public string Name { get; set; }
public string ExtensionType { get; set; }
public int Id { get; set; }
public DateTime DateFiled { get; set; }
public int Size { get; set; }
public ICollection<IPage> Pages { get; set; }
}
public class Page : IPage
{
public int Id { get; set; }
public DateTime DateFiled { get; set; }
public int Size { get; set; }
}
Le classi basate sulle interfacce sono corrette? Qualcosa non sembra giusto per le collezioni di ogni classe. Devo implementare una sorta di iteratore?
Qualsiasi consiglio sarebbe apprezzato.