PDA

Visualizza versione completa : [java-UML] implementare la classe bevanda e ingredienti


LUCAB
14-03-2008, 17.45.25
Salve a tutti sto lavorando ad un progetto che mi chiede di implementare una bevanda e i suoi ingredienti.
Allora io ho definito un interfaccia bevanda e implemento questa interfaccia con le classi BevandaCaffè e BevandaCamomilla.Adesso gli devo associare a questa classe l'insieme degli ingredienti che mi servono per la preparazione della bevanda con le rispettive quantità. Dunque ho creato una nuova interfaccia Ingredienti e le classi che la implementano Zucchero, caffè, camomilla,acqua. Adesso come faccio ad associare gli ingredienti alla bevanda??? una composizione, una aggregazione, una associazione?????
Datemi una mano vi prego!!!! Grazie

Fast-M
25-03-2008, 23.31.26
Perchè non spieghi un po più in dettaglio per esempio quali metodi hai definito nelle due interfacce?
Comunque in generale dovresti definire all'interno di ciascuna classe delle bevande i campi ovvero le proprietà del tipo della classe dell'ingrediente che compone quella bevanda.
In questo modo hai in generale effettuato una associazione tra classi che in questo caso è anche una aggregazione che nella fattispecie può anche essere considerata una composizione perchè c'è un modello del tipo parti-tutto che è sovrapponibile ad ingredienti-bevanda.
Comunque in questa situazione io considererei il design pattern 'composite' che ti permette di aggiungere ingredienti come unità indivisibili(leaf) oppure bevande come unità composte da altre leaf.
Prima di fare questo devi crearti una interfaccia Component in cui definisci tutte le operazioni che potresti definire per gestire le bevande e gli ingredienti, tipo add(nomeIngrediente), remove(nomeIngrediente) ecc.
Non so cosa devi fare precisamente, forse l'uso di un design pattern come il composite sarebbe una modellazione esagerata ed inutile, comunque vedi tu in base a quello che ti serve.