純粋なPOCOモデルを持つことの主な利点は何ですか?私は、モデルはクリーンでシンプルであるべきだと思いますが、モデルクラス内の子オブジェクトのメンテナンスを維持する傾向があります。例えば、私が持っている場合ClassA
とClassB
、以下のように定義されました:
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; }
}
addメソッドとremoveメソッドがあることに本質的に問題はありますか?代わりにリストを公開し、クライアントコードに、null以外の単純なデータ検証の責任を渡すものを追加できるようにし、別のクラスに複製しないようにする必要がありますか?
どんな助けもありがたいです。ありがとう。
AddChild(ClassB newChild) => Children.Add(newChild ?? new NullClassB())