我很确定,这是一个简单的问题,但我现在卡住了。 我有以下设置:
public ParentClass()
{
public long ID { get; set; }
public String Title { get; set; }
public String PropertyA { get; set; }
public String PropertyB { get; set; }
public ParentClass()
{
_child1 = new ChildClass1();
_child1.ID = ID;
_child1.Title = Title;
_child1.PropertyA = PropertyA;
_child2 = new ChildClass2();
_child2.ID = ID;
_child2.Title = Title;
_child1.PropertyB = PropertyB;
}
private ChildClass1 _child1;
private ChildClass2 _child2;
}
父类仅用于控制整体行为,子类执行实际工作(每个都是不同的部分)。我希望两个子类都知道ID和标题。但Child1应该只知道PropertyA,而Child2应该知道PropertyB。所以每个孩子都会得到3个属性。我可以使用一些数据对象,但这会导致像_child1.Properties.ID这样的调用...... 是否有最佳实践或模式来解决这类问题?
答案 0 :(得分:1)
您的代码似乎很好。无需过度复杂化。
在我看来,PropertyA和PropertyB在ParentClass中没有这些属性的支持值,只是在子类中获取和设置公共属性。
一般情况下,最好通过让父级中的getter影响Childclasses中的值来紧密耦合它们,反之亦然,如果您希望它们在其生命周期内不会发散。另一种方法是将它们全部设为readonly
。