2009-06-15 37 views
0

我有多个从基类继承的对象,并试图决定用户应该如何编辑它们。有许多常用字段和一些只适用于每个子类的字段。有没有解决这个问题的设计模式?是否有解决如何管理多个类似对象的设计模式?

我想我可以为每一个网页,或者我可以有一个网页,并显示/隐藏子类的字段。我可以考虑每个人的利弊。很高兴知道是否有标准的处理方法。

回答

0

您可以使用并行类层次结构(本身不是设计模式)。使用这个想法,你需要创建一个基类代码隐藏类来迎合你的基类的属性,然后创建从此派生的类来支持必要的UI来处理派生类的其他属性。

并行类库可能导致问题,例如如果你创建一个新的派生类,那么你还必须创建一个新的派生UI类等,但是如果派生的UI类很简单,那么这可能不会成为太多的问题。

编辑:
如果这是你走的路线,你想创建用户控件,而不是页面的层次,然后适当的用户控制在运行时添加到您的网页。

0

我对动态标签有很好的运气。这个想法是,所有的常用字段都放在Main选项卡上。任何依赖于特定类别的东西都会出现在名称相似的标签上。

在运行时我决定它是什么对象并显示相应的选项卡。

0

类层次结构的相反方法是成分学派。对这个问题的组合方法可以让你为你的类的基础数据创建一个基本的显示控件(这通常在一个组合方案中保存在一个核心对象中)和一个专门控制专门数据的控件它自己单独的对象)。

这有一些优点和一些缺点。最重要的优点是您拥有无限可扩展的系统,可以在类树上向上显示常用数据集类型,并且您可以获得正常的构图风格优势 - 更改类的定义往往会分解为较小的编辑,更独立的单位。最重要的缺点可能是你最终不得不把工作分解成许多子单元,而不是让一个单一的“优雅”(对于类树来说,优雅往往是一种幻觉),对于类和其视觉表示/序列化。

相关问题