Sto creando un'applicazione web in java in cui ho bisogno di prendere in giro il seguente flusso.
Quando l'utente attiva un determinato processo (aggiungi prodotto al carrello), ho bisogno di passare attraverso i seguenti passaggi
- È necessario vedere nella sessione HTTP se l'utente ha effettuato l'accesso.
- Controlla la sessione HTTP se il carrello è lì
- Se l'utente esiste nella sessione HTTP e il suo carrello non esiste nella sessione HTTP
- Ottieni il carrello degli utenti dal database.
- aggiungi l'articolo al carrello e salvalo nella sessione HTTP e aggiorna il carrello nel DB.
- Se il carrello non esiste nel DB, crea un nuovo carrello e salva in esso la sessione HTTP.
Anche se mi mancano un sacco di casi d'uso qui (non voglio che la lunghezza delle domande aumenti molto), ma la maggior parte del flusso sarà la stessa che ho descritto nei passaggi precedenti.
Il mio flusso inizierà da Controller
e andrà verso Service
Layer e terminerà con il livello DAO
.
Poiché ci saranno molti casi d'uso in cui ho bisogno di controllare la sessione HTTP e in base alla necessità di chiamare Service
layer, stavo progettando di aggiungere un layer Facade
che dovrebbe essere responsabile di fare questo per me come controllare Session
e interagire con Service
layer.
Si prega di suggerire se questo è un approccio valido o qualsiasi altro approccio migliore può essere implementato qui?
Un altro punto in cui sono confuso è come gestire HTTP session
nel livello facciata? devo passare l'oggetto sessione HTTP ogni volta che chiamo il mio Facade
o qualsiasi altro approccio può essere usato qui?