È possibile utilizzare MVC per le applicazioni Windows?

-4

Quando ho partecipato a un colloquio, l'intervistatore mi ha chiesto "MVC è utilizzato per le applicazioni Windows?" Ma ho detto no.

La mia risposta è corretta o no?

    
posta user1151378 18.12.2016 - 16:43
fonte

2 risposte

4

Può essere. Non deve essere.

MVC riguarda la separazione di tre aree di responsabilità. Il modello è responsabile dello stato che modella il mondo rappresentato. La vista è responsabile della presentazione di un modo per visualizzare tale stato. Il controllore è responsabile di consentire che le manipolazioni vengano eseguite in quello stato.

Questo è tutto ciò che MVC è davvero. È molto vecchio, uno dei nostri primi schemi, e le persone hanno cercato di aggiungerlo e lo hanno rinominato e distorto, quindi studiarlo può essere fonte di confusione.

È del tutto possibile non separare queste responsabilità e creare comunque un'applicazione funzionante. Separarli aiuta a rendere l'applicazione più facile da mantenere. È anche possibile creare più aree di responsabilità per separare e andare oltre MVC.

È anche difficile stabilire in che modo queste aree dovrebbero comunicare tra loro. Indietro quando MVC ha iniziato non l'hanno mai spiegato. Di conseguenza, scoprirai che il modo in cui MVC viene implementato può variare notevolmente.

Come qualcuno che ha sviluppato applicazioni per Windows, posso dirti che ci sono casi in cui ti trovi a utilizzarlo senza nemmeno saperlo perché il framework che stai usando si sta prendendo cura di questo. In questo modo puoi semplicemente scrivere scimmia e vedere il codice della scimmia per i gestori di eventi e simili senza nemmeno pensare a MVC. Non noterai la separazione finché non avrai scavato sotto le coperte. Il punto di farti una domanda come questa è scoprire se riesci a scavare sotto le coperte.

Vedi anche Model-View-Presenter (MVP), Model-View-ViewModel (MVVM) e l'architettura esagonale per nominarne solo alcuni.

    
risposta data 18.12.2016 - 18:37
fonte
3

MVC parla di Empowerment dell'utente e Manipolazione diretta. È stato inventato per (i primissimi) desktop grafici. Puoi sicuramente usarlo per costruire applicazioni Windows.

MVC è stato creato in un momento in cui l'informatica era molto poco democratica: i programmi venivano scritti da programmatori, i computer erano gestiti da operatori, i programmi e i computer venivano utilizzati dagli utenti e c'era una netta separazione tra i tre. Di conseguenza, c'era ben poca connessione tra il modo in cui gli utenti pensavano a un problema e il modo in cui il problema era rappresentato nel codice. MVC è stato inventato come un modo per correggere entrambi i problemi: rappresentare i problemi nel modo in cui l'utente pensa a loro e consentire all'utente di essere più di un destinatario passivo.

Il modello è un'estensione del cervello dell'utente. Rappresenta i concetti preferibilmente il più vicino possibile al modo in cui pensano a loro. Il compito di View e Controller è di dare all'utente l'illusione di manipolare direttamente il Modello con i suoi pensieri (Metaphor Direct Manipulation). Le viste e i controller dovrebbero essere scritti dagli stessi utenti, magari con l'assistenza degli sviluppatori (Empowerment utente). Pertanto, dovrebbero essere scritti in una lingua che è facile da comprendere per gli utenti. (MVC è stato descritto e implementato per la prima volta in Smalltalk, che è un linguaggio progettato per essere facilmente comprensibile e utilizzabile anche dai bambini.)

Come puoi vedere, non c'è assolutamente nulla qui che sarebbe in qualche modo specifico per un particolare sistema operativo.

    
risposta data 18.12.2016 - 23:16
fonte

Leggi altre domande sui tag