Domanda

Sun e Msdn si tratta di un modello di progettazione.

Wikipedia si tratta di un pattern architetturale

  

In confronto per progettare modelli, modelli architettonici sono più grandi in scala.   (Wikipedia - modello architettonico )

O si tratta di un modello architettonico che ha anche un modello di progettazione?

Quale è vero?

È stato utile?

Soluzione

MVC è più di un pattern architetturale, ma non per l'applicazione completa. MVC riferisce principalmente allo strato di interfaccia / interazione di un'applicazione. Si sta ancora andando ad avere bisogno di livello di logica di business, forse qualche livello di servizio e lo strato di accesso ai dati. Cioè, se siete in approccio a più livelli.

Altri suggerimenti

Perché uno di loro hanno per essere vero?

Entrambi possono essere vero, a seconda del punto di vista.

MVC può essere un modello architettonico, se forma la base della architettura applicativa.

Si può anche essere visto come un semplice modello di progettazione, una nozione astratta che è applicabile a qualsiasi applicazione.

Modelli di progettazione dire come scrivere il codice in modo efficace (considerando Code Metrics ).

A pochi vantaggi:

  1. facilmente mantenibile
  2. Alta riutilizzabilità
  3. leggibile a causa di astrazioni

modelli architettonici dire come utilizzare in modo efficace le risorse.

    esecuzione
  1. attività parallele come programmatori e grafici in grado di lavorare in parallelo.
  2. tecnologie multiple possono essere utilizzati per costruire un software.
  

In MVC,      a). Le viste possono essere create utilizzando i modelli javascript e html anche può essere utilizzato     quadro b). Controller possono essere scritti e .NET     c) I modelli possono essere scritti in Java -.. Un servizio di Java può essere utilizzato che restituisce solo i dati JSON

     

Mentre nel modello di progettazione, un modello di non può da attuare in cui   il codice può essere scritto in diverse tecnologie come classe AdminUser in Java,   classe Customer in C #, classe Partners in PHP e un modello di fabbrica in Ruby   :); hmmm..so facile:?)

Lo so che è stato risposto un po 'fa, ma nessuno ha ancora citato il libro che ha reso MVC famosa: Pattern-Oriented Software Architecture (POSA), da Buschmann, et al pubblicato nel 1996. Anche se non così ampiamente letto come il design Patterns libro, da Gamma, et al, POSA è uno dei libri fondamentali utilizzati dalla comunità modelli.

Oh, e POSA identifica molto chiaramente MVC come un modello architettonico. La mia impressione è che la SM e Sun sono solo di essere sciatto e chiamando ogni modello un "modello di progettazione".

Penso che entrambi sono vere. Se stai guardando un particolare di un'istanza di MVC in un quadro come Ruby on Rails, che esemplificazione è più di un modello di progettazione. Se si guarda a MVC come concetto generale , è più di un modello architettonico.

MVC sempre citato e introdotto come / nel livello di presentazione in architettura software di libri.

Per saperne di questi libri:

  1. di un'architettura Solutions Microsoft.NET per l'Enterprise (Microsoft stampa)

  2. professionale ASP.NET Design Patterns (Wrox)

  3. Enterpise Solutions Patterns Usando Microsoft.NET (Microsoft Press )

  4. Patterns of Enterprise Application Architecture (Addison Wesley)

  5. Una guida pratica per Enterprise Architecture (Prentice Hall)

Se si mette dieci architetti di software in una stanza e li hanno discutere di ciò che il pattern Model-View-Controller è, si finirà con dodici opinioni diverse. ... Alcuni dei puristi fuori ci saranno inevitabilmente scrupoli con ciò mi riferisco a come “MVC”. Sentiti libero di lasciare un commento di fuoco sul bordo del messaggio in fondo a questa pagina web. Sarò lieto di intrattenere i diversi punti di vista su ciò che significa MVC, ma tenete a mente che non mi interessa.

Josh Smith

I modelli di progettazione all'interno del Model / View / Controller (MVC) triade di classi includono e non possono essere limitati a:

  • Observer , disaccoppiamento oggetti in modo che le modifiche uno (il modello) può colpire qualsiasi numero di altri (le visualizzazioni) senza richiedere l'oggetto modificato (il modello) per conoscere dettagli della altri (le visualizzazioni).

  • Composizione , che permette di trattare un oggetto gruppo (una vista composita) come trattiamo uno dei suoi singoli oggetti (vedi le componenti).

  • Strategia , dove la vista utilizza un'istanza di una sottoclasse di controllo per implementare una particolare strategia di risposta; attuare una strategia differente, semplicemente sostituire l'istanza con un diverso tipo di controllore.

  • Factory Method , specificando la classe controller predefinito di una visualizzazione.

  • Decorator , l'aggiunta di scorrimento a una vista.


Riferimento

  • Pagine 4-6 (sezione 1.2 Design Patterns in Smalltalk MVC)
  • Pagine 293-304 (Observer disegno del modello)
  • Pagine 163-174 (design pattern Composite)
  • Pagine 315-324 (Strategia disegno del modello)
  • Pagine 107-116 (Factory Method disegno del modello)
  • Pagine 175-185 (Decorator disegno del modello)

Eric Gamma, Richard Helm, Ralph Johnson, e John Vlissides. Design Patterns: Elements of Reusable Object-Oriented Software . Addison-Wesley, Reading, MA, 1994.

E secondo Martin Fowler sono architetture GUI: Martin architetture Fowler-GUI

E 'dipende dalle dimensioni dell'applicazione, in quanto riguarda solo le classi relative GUI, in una piccola (per lo più GUI) che potrebbe essere considerato un modello architettonico mentre in un enorme sarebbe solo un modello di progettazione che si applica per il codice della GUI (potrebbe essere il 10% del codice di applicazioni).

MVC è architettura modello. Molto chiaramente dichiarato e mostrato a http://molecularsciences.org/zend/mvc_model_view_controller

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