Come strutturare il mio codice in un formato MVC?

0

Voglio avere la home page (root del sito web), controllare se esiste un cookie per l'accesso di un utente, e quindi basarci su di esso per determinare se caricare o meno la pagina di registrazione (pagina di destinazione) o il feed dell'utente che ha effettuato l'accesso.

Dove si verifica questo controllo?

L'ho tenuto nel controller per ora, ma sulla base di alcuni articoli che ho letto (come Skinny Controller, Fat Model, non sono sicuro che sia il posto giusto per tenerlo dentro.

    
posta Nimit Kalra 14.01.2014 - 05:08
fonte

1 risposta

0

Skinny Controller, Fat Model afferma che la logica dovrebbe essere implementata nel modello, poiché consente un migliore riutilizzo del codice. Il ragionamento è che mentre un controllore è legato a un'azione di un singolo utente (o un gruppo di azioni dell'utente), il modello viene utilizzato attraverso l'applicazione, quindi inserire il codice consente di riutilizzarlo ovunque utilizziamo il modulo.

Questo, tuttavia, si applica solo al codice che opera sui dati del modello. Nel tuo caso, vuoi verificare l'esistenza di un cookie. I cookie non sono correlati a un modello specifico - fanno parte della richiesta HTTP - quindi il posto naturale per loro è il controller, dal momento che è compito del controllore ricevere l'azione dell'utente e decidere come rispondere ad esso.

Ancora: questo è il codice che vorrete riusare (presumo che vogliate eseguire quel controllo per molte pagine), quindi non lo legherei ad un controller specifico - deve essere condiviso tra tutti i controller. In RoR, ad esempio, lo inserirai in ApplicationController - la classe base per tutti i controller utilizzati nella tua applicazione. Non so quale framework stai usando, o se stai ruotando da solo, ma dovresti cercare qualcosa di simile.

    
risposta data 14.01.2014 - 10:33
fonte

Leggi altre domande sui tag