Ho una classe Shop
che contiene una raccolta di oggetti Item
. Puoi creare un negozio in due modi diversi:
- Crea un negozio pieno di dati di test (a scopo di debug);
- Crea un negozio leggendo i dati dal file
Devo anche scrivere di nuovo al negozio.
C'è qualche schema che può avvolgere elegantemente questo comportamento?
Questa è l'implementazione in questo momento (in Java):
class Item {
public final String name;
public Item(String n) {
name = n;
}
}
class Shop {
public List<Item> items;
private Shop() {
items = new LinkedList<>();
}
public static Shop generateTestData() {
Shop shop = new Shop();
shop.items.add(new Item("Product A"));
shop.items.add(new Item("Product B"));
shop.items.add(new Item("Product C"));
return shop;
}
public static Shop readFromFile(String filepath) {
// read from file
}
public static void writeToFile(Shop shop, String filepath) {
// write to file
}
}
NB. Ho considerato l'applicazione di una sorta di modello prototipo in questo modo: creo un'istanza statica di Shop
piena di dati di test, quindi l'utente può ottenerne una copia e modificarla come desidera. È una buona idea?