Jakie są główne zalety posiadania czystych modeli POCO? Rozumiem, że modele powinny być czyste i proste, ale zazwyczaj lubię utrzymywać utrzymanie obiektów potomnych w klasach modeli. Na przykład, jeśli mam a ClassA
i ClassB
zdefiniowane w następujący sposób:
public class ClassA
{
public string MyProp { get; set; }
public IEnumerable<ClassB> Children { get; }
public void AddChild(ClassB newChild) { /*... */ }
public void RemoveChild(ClassB child) { /* ... */ }
}
public class ClassB
{
public string SomeProp { get; set; }
}
Czy jest coś z natury nie tak z metodami dodawania i usuwania? Czy zamiast tego powinienem po prostu odsłonić listę i pozwolić kodowi klienta na dodanie tego, co przechodzi odpowiedzialność za proste sprawdzanie poprawności danych, np. Nie jest zerowe i nie może być duplikowane do innej klasy?
Każda pomoc jest mile widziana, dzięki.
AddChild(ClassB newChild) => Children.Add(newChild ?? new NullClassB())