Sto creando un modello in cui un elemento può contenere altri elementi. Attualmente sto scrivendo l'interfaccia per il modello e non sono sicuro di quale sia la migliore delle due opzioni:
Opzione 1
interface Container {
List<Element> getElements(); // returns an unmodifiable list.
void addElement(Element e);
void removeElement(Element e);
}
Opzione 2
interface Container {
List<Element> getElements(); // returns an unmodifiable list.
void setElements(List<Element> elements);
}
Quali sono i pro / contro di ciascuna opzione? Inoltre, ci sono convenzioni di denominazione "accettate" in questi casi, come usare children
invece di elements
?