Domanda

Ho letto attraverso un paio di domande sul qui e vari articoli su MVC e in grado di vedere come può essere applicato anche alle applicazioni ad uso intensivo di eventi GUI come un'applicazione di vernice.

Qualcuno può citare una situazione in cui MVC potrebbe essere una brutta cosa e il suo uso sconsiderato?

EDIT: Sono in particolare parlando di applicazioni GUI qui

È stato utile?

Soluzione

Ho cercato MVC nel mio driver del kernel di rete. La patch è stata respinta.

Altri suggerimenti

Credo che si sta guardando che tipo di all'indietro. Il punto non è quello di vedere dove è possibile applicare un modello come MVC, il punto è quello di imparare gli schemi e riconoscere quando il problema si sta tentando di risolvere può naturalmente essere risolto applicando il modello. Così, se il problema può essere spazio naturalmente diviso in modello, vista e controllore, allora è un buon candidato per MVC. Se non si può facilmente vedere quali parti della tua caduta disegno nelle tre categorie, non può essere il modello appropriato.

MVC ha senso per le applicazioni web. Nelle applicazioni web, si elabora alcuni dati (su SA: scrittura domande, l'aggiunta di commenti, la modifica informazioni utente), si ha lo stato (utente connesso), non si dispone di molte pagine diverse, ma un sacco di contenuti diversi per adattarsi quelle pagine. Page One Question contro un milione di domande.

Per la realizzazione di CMS, ad esempio, MVC è inutile. Non è necessario alcun modello, nessun controller, solo pagine di testo con decorazioni e menu. Il problema non è più in corso l'elaborazione dei dati -. Il problema ora è al servizio che il contenuto del testo correttamente

Tho, CMS Ammin sarebbe costruire sulla parte superiore del MVC bene, è solo una parte di utente che non sarebbe.

Per i servizi web, è meglio utilizzare REST che, credo, è un paradigma distinta.

applicazione WebDAV non beneficerebbe notevolmente da MVC, sia.

L'avvertimento su Ruby per la programmazione Web è che Rails è più adatto per edilizia applicazioni Web. Ho visto molti progetti tentativo di creare un server WebDAV o di un sistema di gestione dei contenuti CMS con Rails e fallire miseramente. Mentre è possibile fare un CMS in Rails, ci sono molto più efficienti tecnologie per il compito, come Drupal e Django. In realtà, direi che se si sta guardando uno sforzo di sviluppo Java Portal, è necessario valutare Drupal e Django per il compito, invece.

Tutto ciò in cui si vuole far cadere nei componenti 3rd party renderà più difficile lavorare nel modello MVC. Un buon esempio di questo è un CMS.

Ogni componente si ottiene avrà i "propri" oggetti controller e non sarà in grado di condividere il "controllo" del modello -> ui passaggio.

Non necessariamente so che MVC è mai veramente un male idea per un'applicazione GUI. Ma ci sono alternative che sono probabilmente meglio (e anche forse peggio a seconda di cui parere si sta chiedendo). Il più comune è MVP. Vedi qui per una spiegazione: Tutto quello che avreste voluto sapere sul MVC e MVP ma non avete mai osato chiedere .

Anche se suppongo che potrebbe essere una cattiva idea usare MVC se si sta utilizzando un quadro o in altro modo l'interazione con il software che non è stato progettato con MVC in mente.

In altre parole, è un po 'come il confronto linguaggi di programmazione. Non c'è di solito molti compiti che si può dire che uno è meglio dell'altro per. Di solito si riduce a preferenza programmatore, disponibilità di librerie, e l'esperienza del team.

MVC non deve essere utilizzato in applicazioni in cui prestazioni hanno un'importanza fondamentale. Non so se questo applys ancora con l'aumento della potenza di calcolo, ma un esempio è un'applicazione di call center. Se è possibile salvare .5 secondi per chiamata in entrata e l'aggiornamento delle informazioni tali risparmi si sommano nel tempo. Per ottenere l'ultimo pezzo di prestazioni dalla vostra applicazione è necessario utilizzare un'applicazione desktop, invece di una web app e farlo parlare direttamente con il database.

Quando è un male? Dove mai c'è un altro codice-struttura in grado di meglio adattare il vostro progetto.

C'è innumerevoli progetti in cui MVC non "fit", ma io non vedo come una lista di loro sarebbe di alcun beneficio ..

Se si inserisce MVC, usarlo, se non, utilizzare qualcos'altro ..

MVC e ORM sono uno scherzo .... sono appropriati solo quando l'applicazione non è un'applicazione di database, o quando si vogliono mantenere il database di App agnostico. Se stai usando un RDBMS che supporta le stored procedure, allora questo è l'unico modo per andare. stored procedure sono l'approccio preferito per gli sviluppatori di applicazioni esperti. MVC e ORM sono promosse solo da aziende che cercano di vendere prodotti o servizi legati a queste tecnologie (ad esempio Microsoft cercando di vendere VS). Smettere di sprecare il vostro tempo di apprendimento di Java e C #, concentrarsi invece su ciò che conta davvero, Javascript e SQL.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top