Hallo zusammen,
ich habe mal eine Stil-Frage. Angenommen ich habe eine Bean mit einer Collection als Property, und einer weiteren Eigenschaft, ähnlich der folgenden:
Wie man vermuten kann, stehen
und
in Verbindung. Bei einer Instanz von
, die in
eingefügt wird, soll auch
entsprechend gesetzt werden.
Nun möchte ich mich nicht darauf verlassen, dass jemand der diese Klasse benutzt, auch immer die Properties korrekt setzt. Mein Ansatz sieht folgendermaßen aus: Die Getter- und Setter-Methoden für
und
. Neben der Bean gibt es im gleichen Package eine zusätzliche Klasse
, die Methoden zum Manipulieren der
und
Properties enthält:
Meiner Meinung nach ist das ein gutes Design, aber ich würde gerne mal andere Meinungen hören.
Beste Grüße
Stareagle
ich habe mal eine Stil-Frage. Angenommen ich habe eine Bean mit einer Collection als Property, und einer weiteren Eigenschaft, ähnlich der folgenden:
Java:
public class Item {
private String name;
private Item superItem;
private Map<String, Item> subItems;
}
Wie man vermuten kann, stehen
Code:
superItem
Code:
subItems
Code:
Item
Code:
subItems
Code:
superItem
Nun möchte ich mich nicht darauf verlassen, dass jemand der diese Klasse benutzt, auch immer die Properties korrekt setzt. Mein Ansatz sieht folgendermaßen aus: Die Getter- und Setter-Methoden für
Code:
superItem
Code:
subItems] sind [code]protected
Code:
ItemManager
Code:
subItems
Code:
superItem
Java:
public class ItemManager {
private Item managedItem;
public ItemManager(Item managedItem) {
this.managedItem = managedItem;
}
public Map<String, Item> getItems() {
return new HashMap<String, Item>(managedItem.getItems());
}
public Item getItem(String name) {
return managedItem.getItems().get(name);
}
public void addItem(Item item) {
managedItem.getItems().put(item.getName(), item);
item.setSuperItem(managedItem);
}
//Weitere Methoden z.B. zum Entfernen eines Items.
}
Meiner Meinung nach ist das ein gutes Design, aber ich würde gerne mal andere Meinungen hören.
Beste Grüße
Stareagle