Nel software MVC, chi dovrebbe caricare i modelli?

2

Sto lavorando su un client JavaScript REST e sto cercando di seguire il pattern MVC, ma mi viene in mente una domanda molto basilare: chi dovrebbe fare la richiesta http e caricare i dati nel modello?

La mia intuizione mi dice che il controller dovrebbe farlo, ma in molti esempi (la documentazione ember.js, ad esempio) è fatta dal modello, con un metodo find (). Ma altri framework, come Django, lo fanno nel controller.

Quale pensi che sia il modo migliore per farlo?

    
posta César García Tapia 04.07.2013 - 17:14
fonte

2 risposte

2

Un modello non dovrebbe preoccuparsi o nemmeno sapere della persistenza. Quindi un modello che si carica da solo è fuori per me.

In MVC: il controller dovrebbe essere quello che controlla il caricamento del modello. Che lo faccia da solo o lo deleghi a un negozio o repository o qualsiasi altro nome di servizio di persistenza dei dati a cui si possa pensare è irrilevante.

    
risposta data 04.07.2013 - 23:17
fonte
0

Entrambi possono funzionare. Io preferisco nessuno dei due. Il caricamento del modello potrebbe essere eseguito da qualche repository o servizio 'store'.

ExtJs utilizza negozi che hanno le conoscenze necessarie per ottenere dati sui modelli, fornire cache sul lato client, ecc. Apprezzo questo design, una buona separazione delle preoccupazioni.

    
risposta data 04.07.2013 - 18:42
fonte

Leggi altre domande sui tag