Come gestisco un controller che non sta controllando un modello specifico?

3

Ho creato un buon MVC, ma il mio sito web richiede alcune viste che non sono mappate direttamente su un modello. In particolare, ho alcuni rapporti generici che gli utenti devono eseguire, e ora sto creando un'utilità per confrontare alcune configurazioni di sistema.

In questo momento la logica è stipata in un controller di report e sto avviando un controller di confronto, ma questo sembra un grosso abuso del sistema. Entrambi i controller utilizzano un assortimento di modelli diversi per estrarre i dati e sono correlati solo in base a ciò che l'utente sta facendo . I report vengono eseguiti dal controller di report e le loro viste sono tutte raggruppate nella struttura del file system / URL.

Questo è un uso accettabile del paradigma Controller? Non riesco a pensare a un modo migliore per strutturare i miei controller e creare un controller per ciascun modello che sto usando per creare report / ect non sembra una buona idea; Mi ritroverei con un controller / modello / vista per rapporto o comparazione, complicando enormemente l'apparente struttura del mio sito.

    
posta Ben Brocka 12.04.2012 - 21:29
fonte

1 risposta

7

Preferisci controller sottili; spingere il più possibile l'analisi dei dati in un livello di business logic che coordina il trasferimento dei dati tra i controller e il modello e utilizzare i controller semplicemente per coordinare la visualizzazione dei dati.

Il modello non è necessariamente un database. In MVC, il modello è sia i dati che la logica aziendale necessari per manipolare i dati nell'applicazione.

    
risposta data 12.04.2012 - 21:47
fonte

Leggi altre domande sui tag