Usa controller in vista in MVC

3

Ho un problema a convincere i miei compagni di squadra perché non dovremmo usare (fare riferimento direttamente) al controller nella vista quando sviluppiamo componenti nello spirito di MVC. Ho invocato il disaccoppiamento e l'intuizione naturale, ma ancora quegli argomenti non sono riusciti a passare. Dicono, a loro difesa, che questo è un normale compromesso.

Quali argomenti sono convincenti? O hanno ragione? In che modo la pratica dell'utilizzo del controller nella vista può influire su un progetto a lungo termine?

    
posta gavri 24.05.2011 - 20:08
fonte

2 risposte

7

La vista può avere un'associazione indiretta al controller. È obbligatorio? No, ma è certamente accettabile. Quando dichiari il riferimento; Suppongo che tu ti stia riferendo ad un'associazione diretta tra la View e il Controller che viene tipicamente evitata poiché accoppia la Vista a un determinato Controller.

L'idea è l'isolamento delle preoccupazioni (manutenibilità) e l'agevolazione per test migliori su tutto il prodotto. Se vengono seguite altre pratiche, il beneficio per questa separazione dovrebbe emergere immediatamente; se no, potrebbe essere il primo passo in questo dibattito (CI, TDD, ecc ...).

Se questo non è altro che un'associazione di pissing di architettura; tutti hanno ragione e torto e tutti voi dovreste andare avanti nel modo più gestibile possibile.

    
risposta data 24.05.2011 - 20:15
fonte
1

Tendo ad usarlo per restringere la vista alla sola logica di presentazione.

Una regola empirica è che nei casi in cui trovi che è necessario accedere alle preoccupazioni di un livello di un'app MVC da un livello diverso, di solito è dovuto a una mancanza in uno degli altri livelli.

Se ti trovi a dover accedere al controller dalla vista, potresti voler guardare il modello e visualizzare e chiedere se ha bisogno di dati aggiuntivi per tenere traccia dello stato, gestire dati mancanti o ambigui o inoltrare a un errore o un'eccezione stato.

    
risposta data 24.05.2011 - 20:36
fonte

Leggi altre domande sui tag