Skip to content
Luke edited this page Mar 1, 2017 · 1 revision

Il programma è stato progettato con architettura MVC (model-view-controller). Il controller è la classe restaurant.Restaurant.java mentre le viste sono tutte definite nel package graphics. Il modello si trova nel package restaurant.

Il controller è di tipo Observable in modo da notificare al modello i cambiamenti di stato, quindi fra i pattern utilizzati c'è anche l' Observer: è stato usato anche il pattern Singleton per aumentare la sicurezza del programma ed istanziare una sola volta la procedura di login, oltre che per altre classi.

Il programma è stato progettato per operare localmente dunque la base di dati non utilizza connessioni remote.

##Formattazione dei file Il file json contenente le configurazioni ha la segente struttura:

{
    "app_name": "app name",
    "this_path": "./data/appConfig.json",
    "exit_state": 0,
    "snapshot_seconds": 5000,
    "table_number": 5,
    "menu_path": "./data/menu.txt",
    "def_dbuser": "root",
    "def_dbpw": "",
    "def_dburl": "jdbc:mysql://localhost:3306/ristorante?relaxAutoCommit=true",
    "def_lang": "IT",
    "restaurant_name": "restaurant name"
}

app_name: il nome dell' applicazione

this_path: percorso del file di configurazione stesso

exit_state: stato di uscita dell' applicazione. 0 se chiusa correttamente.

snapshot_seconds: delay fra salvataggi di backup

table_number: numero dei tavoli da istanziare all' avvio dell' applicazione

menu_path: percorso del file menu

def_dbuser: nome utente default per la connessione al database locale

def_dbpw: password default per la connessione al database locale

def_dburl: url default di connessione al database

def_lang: lingua di default

restaurant_name: nome del ristorante

Il file di menu ha la seguente struttura:

menuelement_name prezzo tipo descrizione

Gli spazi indicano una tabulazione \t. Una riga valida può essere:

Pasta alla Carbonara 7 PRIMO Spaghetti con uovo e pancetta.

Clone this wiki locally