¿Cuál es el principal beneficio de tener modelos POCO puros? Entiendo que los Modelos deben ser limpios y simples, pero me gusta mantener el mantenimiento de los objetos secundarios dentro de las clases de modelos. Por ejemplo si tengo un ClassA
y ClassB
definido de la siguiente manera:
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; }
}
¿Hay algo inherentemente malo en tener los métodos de agregar y quitar? ¿Debería simplemente exponer la lista y permitir que el código del cliente agregue lo que pase la responsabilidad de validaciones de datos simples como no nulo y no duplicar a otra clase?
Cualquier ayuda es apreciada. Gracias.
AddChild(ClassB newChild) => Children.Add(newChild ?? new NullClassB())