2009-09-30 13 views
1

我正在用Java编写一个应用程序,该应用程序使用通过JDBC获取的数据生成XML文件。这是一个递归的一对多关系,非常类似于XML文档的结构。它基本如下所示:是否有设计模式来模仿XML?

对象A包含多个对象B's。对象B包含多个对象C's。等等。

是否有一个方便的设计模式,我可以使用这个或我应该只是在每个类中引入一个集合,并与复杂的DAO类生活?

回答

2

XML基本上是一棵树,大多数树结构将很好地转化为表示XML。

3

在OO编程的土地上,处理变数的某种类型的对象的方法是将它们放入一个集合中。您的班级包含B类多个实例的单个集合。

使用集合并处理复杂的DAO类。

...或者如果你需要更复杂的东西,你可以使用Composite模式(尽管你仍然会收集某个集合)。

+0

我原本对使这些对象成为不可变容器对象有很高的期望。如果我有一个集合,我希望集合也是不可变的,在创建对象时定义。 在这种情况下,基本上必须在创建对象A的控制器类中知道所有的数据。这可能会变得非常混乱,如果可能,我想避免它。 – Melvin 2009-09-30 15:10:50

+0

使对象/集合不可变的原因是什么? – 2009-09-30 15:17:29

+0

只需简单的代码安全。这是在应用程序中不会更改的数据库信息。 – Melvin 2009-09-30 15:19:13

0

如果父元素和子元素都有一些共同的属性,你可以检查"Composite Design Pattern"

读它,看看它是否符合您的需求。

+0

这是我在创建应用程序时所考虑的第一个设计模式。问题是除了包含另一个对象的对象之外,没有共同的属性。 – Melvin 2009-09-30 15:21:54