2009-09-30 15 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