Open LucaBlackDragon opened 8 years ago
Ipotesi di Domain Model
export interface Identifiable {
id: string;
}
export interface Person extends Identifiable {
name: string;
email: string;
}
export interface MenuElement extends Identifiable {
name: string;
description?: string;
}
export interface Ingredient extends MenuElement {
base: boolean; // fa/non fa parte per default della ricetta
optional: boolean; // può/non può essere rimosso
}
export interface Recipe extends MenuElement {
price: number;
ingredients: Ingredient[];
}
export interface Dish extends MenuElement {
recipes: Recipe[];
}
export interface Order extends MenuElement {
dishes: Dish[];
client: Person;
}
Dato per assodato che gestiamo tutta l'applicazione tramite javascript, ricorrendo a FireBase o ad altre soluzioni del genere, occorre decidere come sviluppare il domain model (es. sintassi "classica" per gli oggetti javascript oppure nuova sintassi Javascript2015?) ed eventualmente che tool utilizzare.
Per la realizzazione di un prototipo ho provato Software Ideas Modeler, un software gratuito (per uso non commerciale) che permette di generare il codice per le classi in vari linguaggi (fra cui javascript) a partire dalla realizzazione di diagrammi tipo questo (che rappresenta parte del model che avevo buttato giù giorni fa):
Probabilmente questo programma è un po' "overkill" per quello che dobbiamo fare, però avere una visualizzazione grafica da cui partire non è male.