UI vs Window vs View

-1

Quali sono le differenze tra questi? Supporrei che l'interfaccia utente sarebbe l'interfaccia generale per un'applicazione specifica composta da più finestre. Una finestra sarà quindi composta da 1 o più visualizzazioni possibili. Una vista sarebbe quindi una porzione della Finestra su cui una vista potrebbe attingere? Sto pensando a questo correttamente?

A UI has 1..n Windows
A Window has 1..n Views
A View represents the portion of a Window where a model can be displayed.

Pertanto, l'interfaccia utente dovrebbe essere composta da Windows o ereditata dalla classe Window?

    
posta keelerjr12 08.11.2017 - 01:45
fonte

2 risposte

2

Una vista è come i dati sono presentati o visualizzati. Una finestra è l'artefatto fisico o dispositivo che viene utilizzato per creare un'istanza di una vista per un utente. Un'interfaccia utente è la combinazione di visualizzazioni e controlli di Windows che consente a un utente di visualizzare i dati e di modificare il materiale presentato nelle viste e in che modo viene presentato il materiale.

Questa è l'architettura di base dell'architettura Model View Controller .

Una finestra è una finestra attraverso cui è visibile una vista. Una vista può essere presentata attraverso più finestre con ogni finestra che fornisce visibilità di parte di una vista.

Come esempio, puoi dare un'occhiata semplificata a un'applicazione IDE come Eclipse o Visual Studio.

I dati primari sono il codice sorgente in uno o più file. L'IDE fornisce diverse viste del codice del codice sorgente. Una vista può essere il codice sorgente in un particolare file come linee di testo e questa vista è presentata in una finestra. È possibile dividere la finestra in due finestre controllate in modo indipendente che consentono alle due finestre di mostrare parti diverse del file del codice sorgente. C'è ancora una vista, il codice sorgente, comunque puoi guardarlo in un modo diverso, usare due finestre diverse in modo da guardare due diverse parti della vista che sono sufficientemente separate che se si usa una singola finestra entrambe le parti non possono essere rese visibili allo stesso tempo a causa delle limitazioni del dispositivo di visualizzazione.

È possibile aprire un'altra vista del codice sorgente per mostrare una finestra che visualizza una vista del codice sorgente come una serie di dichiarazioni di funzioni senza mostrare il codice sorgente presente in ciascuna funzione. La serie di funzioni è presentata in un grafico di chiamata. Di nuovo lo stesso codice sorgente e viene visualizzato in una finestra, ma ora la vista è diversa dall'immagine di un albero grafico piuttosto che da linee di codice sorgente.

Apri un'altra View, questa volta mostrandoti come i file del codice sorgente sono organizzati in più progetti in una vista ad albero con ogni progetto che è un nodo che quando viene cliccato si apre per mostrare i file che lo compongono.

Nella maggior parte dei framework grafici dell'interfaccia utente tutti gli artefatti visualizzati sono Windows di qualche tipo. Un pulsante è una finestra, una finestra di testo è una finestra, una finestra immagine è una finestra, ecc. Una finestra è l'origine o il sink della maggior parte degli eventi nell'interfaccia utente. Viene premuto un tasto sulla tastiera che viene avvolto in un messaggio e fornito alla finestra che attualmente ha il focus della tastiera. La finestra su cui si trova il cursore del mouse è solitamente la finestra che ottiene l'evento clic del mouse.

Una vista non è un tipo fisico di una cosa come una finestra. Una vista è un'idea più astratta di come vengono presentati i dati. Una vista utilizza una o più finestre per presentare i dati in un formato particolare. Il formato può essere linee di testo o possono essere immagini e icone insieme al testo.

L'interfaccia utente è il pacchetto completo di come le varie viste e Windows sono riunite per fornire un'interfaccia che permetta a un utente di vedere i dati in vari modi, per controllare come l'interfaccia presenta i dati tramite Views e possibilmente per modificare i dati.

Ecco un esempio di Visual Studio 2013. L'interfaccia utente totale sono le varie finestre e controlli insieme alle viste e al comportamento dinamico dell'applicazione, in quanto l'utente manipola vari controlli usando il mouse e la tastiera.

Questa schermata mostra una finestra divisa che mostra due parti della stessa vista di un file di codice sorgente come testo. Una finestra divisa è in realtà due finestre con controlli della barra di scorrimento incorporati in una finestra più grande. E questa finestra più grande è a sua volta contenuta nella finestra del frame dell'interfaccia utente che contiene altri Windows.

EccounaschermatadellostessoprogettodiVisualStudio2013chemostrapiùvistedeglistessidatiutilizzandofinestrediverseperognivista.QuestoèunfilesorgenteXAMLconlostrumentodesignerVisualizzainunafinestraconilcodicesorgenteXAMLVisualizzainunasecondafinestrasotto.C'èancheunafinestraProprietànell'angoloinbassoadestradellaGUIIDEdiVisualStudiochefornisceunavistadiversadell'oggettoXAMLselezionato.ÈpossibilemodificareilcodicesorgenteXAMLmodificandoiltestonelcodicesorgenteVisualizzaoutilizzandoicontrollinellafinestraProprietàoutilizzandoicontrollinellafinestradellostrumentodiprogettazione.

    
risposta data 08.11.2017 - 04:31
fonte
2

Non sono sicuro che ci sia una terminologia uniforme in tutto il mondo del software. Potresti scoprire che l'utilizzo è diverso a seconda di chi si incontra. Posso parlare un po 'del mondo di Microsoft Windows e della relativa tecnologia.

Una "finestra" non è affatto ciò che si pensa come una finestra. Una finestra è tutto ciò che ha un hWnd (che è l'abbreviazione di "handle to a window") . Ogni pulsante, campo, etichetta e controllo su una pagina è un tipo di finestra. Inoltre, la forma stessa è una finestra. Windows ha il proprio sistema di messaggistica che può essere usato per far sì che le finestre facciano varie cose in un modo accodato, che è molto utile perché ci sono restrizioni sul thread quando si usa Windows.

"Visualizza" è un termine specifico di uno dei pochi schemi di progettazione , ad esempio Model-View-Controller o MVC , Model-View-Presenter e il confusamente denominato Model-View-View-Model o MVVM .

Una "UI" o interfaccia utente è un termine molto generale che si riferisce a qualsiasi interazione tra una persona e un sistema informatico. Alexa, per esempio, ha un'interfaccia utente, anche se è interamente controllata dalla voce.

Link che potrebbero interessarti:

risposta data 08.11.2017 - 08:00
fonte

Leggi altre domande sui tag