MVC come modelli di architettura

2

Quando voglio progettare l'architettura del sistema nel diagramma, di solito prendo alcuni modelli di architettura e fornisco loro l'identità del sistema.

Ad esempio, un semplice sistema per la gestione della scuola con Layer Pattern può essere:

Ma MVC come dosa di pattern di architettura non ottiene facilmente l'identità di sistema nei diagrammi.

Non so come disegnare il mio diagramma con pattern MVC, perché non so come presentare l'identità di sistema con questo pattern. Si riempie che se forzerò MVC alla mia identità di sistema otterrò le classi e non i moduli.

Non so nemmeno perché MVC sia considerato come modello di architettura e non come modello di progettazione.
Da Wikipedia:

Model–view–controller (MVC) is a software design pattern for implementing user interfaces on computers

Sembra che MVC sia un modello per implementare la progettazione di classi e non di moduli.

Quindi perché MVC è considerato come Pattern di architettura? E come devo disegnare un diagramma di architettura per questo semplice sistema con MVC?

    
posta nrofis 09.02.2017 - 13:41
fonte

1 risposta

1

Questa è una domanda difficile a cui rispondere principalmente perché non esiste una formula chiara che puoi applicare per ottenere una risposta del tipo "SÌ, si adatta < inserisci paradigma / modello qui & gt ;, oppure NO, non lo fa ".

Ad esempio, prendi MVC stesso. Ci sono molte varianti sul MVC originale .

It's often referred to as a pattern, but I don't find it terribly useful to think of it as a pattern because it contains quite a few different ideas. Different people reading about MVC in different places take different ideas from it and describe these as 'MVC'. If this doesn't cause enough confusion you then get the effect of misunderstandings of MVC that develop through a system of Chinese whispers.

Lo stesso per i modelli. Quando uno schema smette di essere un modello di progettazione e diventa un modello architettonico? Tutto dipende ovviamente dal contesto. Come stai usando? Dove lo stai applicando? Che problema stai risolvendo con esso? In quale scala?

Architettura significa "scatole grandi" che compongono la tua applicazione e come queste interagiscono tra loro per far funzionare l'applicazione. MVC è effettivamente considerato un modello architettonico a causa della scala a cui viene applicato (a livello dell'architettura dell'applicazione).

Ma un modello di design è una descrizione o un modello per come risolvere un problema e MVC si adatta anche a questa definizione. Quindi, di nuovo, dove traccia la linea?

L'immagine che hai postato è un'architettura a strati. Se vuoi, puoi adattare MVC in questo modo:

E ora puoi disegnarlo. Ma poiché (menzionato sopra) MVC è anche una descrizione o un modello per come risolvere un problema, quello che stai mostrando non è solo un diagramma della tua architettura ma anche la soluzione che hai usato per costruirlo.

Come ho detto, questa è una domanda difficile a cui rispondere ...

    
risposta data 01.03.2017 - 16:26
fonte

Leggi altre domande sui tag