Sono attualmente nella fase di modellazione di classe del mio progetto.
Scenario della vita reale: Diciamo che ho un progetto composto da componenti principali e ogni componente principale è composto da componenti secondari e ciascuno dei componenti secondari utilizza più materiali.
Ho creato una classe basata sulle entità:
public class Project
{
public List<MainComponent> MainComponents {get; set;}
// other properties..
}
public class MainComponent
{
public List<SubComponent> SubComponents {get;set;}
//other properties..
}
public class SubComponents
{
public List<Material> Materials {get;set;}
//other properties..
}
public class Material
{
//properties..
}
Tuttavia avrò difficoltà ad accedere a un materiale perché dovrò passare attraverso un ciclo foreach
annidato
Diciamo che projectAlpha è un'istanza esistente di una classe Project
foreach(MainComponent mainComponent in projectAlpha.MainComponents)
{
foreach(SubComponent subComponent in mainComponent)
{
foreach(Material material in subComponent.Materials)
{
//do something with material here..
}
}
}
Quali sono i modi efficaci per progettare una classe basata su entità progettate in questo modo? (Evita loop annidati).