Domanda

Quali sono le alternative "metodi di progettazione" al Model View Controller? MVC sembra essere popolare (SO è stato costruito con esso, lo so molto) ma è l'unico metodo utilizzato?

È stato utile?

Soluzione

Ce ne sono molti altri:

Altri suggerimenti

Uno dei migliori write-up di diversi modelli di architettura di applicazioni interattive disponibili è questo post-blog molto dettagliato e ben studiato . Copre Model-View-Controller, tre diverse versioni di Model-View-Presenter, diverse versioni di Presentation-Abstraction-Control, Supervision Controller, Passive View e Hierarchical MVC.

Un altro modello interessante è il Presenter First di Atomic Objects. Non è solo un modello di progettazione, è anche un modello di processo. IOW: il nome "Presenter First" non è arbitrario, in realtà descrive un processo di sviluppo, in cui il Presenter viene scritto per primo, guidando la progettazione del resto del sistema.

MVC è un modello architettonico. Questi sono gli altri modelli architettonici che puoi provare (da Wikipedia):

  • Livelli
  • Architettura multilivello
  • Presentation Abstraction Control (PAC)
  • Model View Presenter (MVP)
  • Modello View ViewModel (MVVM)
  • Pipeline
  • Invocazione implicita
  • Sistema di lavagna
  • Peer-to-Peer
  • Service Oriented Architecture (SOA)
  • Oggetti nudi

Questi sono disponibili qui in Wikipedia .

MVC fa parte di un gruppo più ampio di modelli di progettazione. Non ho idea di quanta esperienza tu abbia, quindi non sono sicuro di come indirizzare questa risposta. Sono un programmatore .NET, ma ho trovato estremamente utile il libro Java Head First Design Patterns . I modelli di progettazione sono generalmente suddivisi in gruppi con altri modelli che aiutano a risolvere problemi simili.

Ho anche trovato molto utile il sito web Data Object Factory . Dovresti cercare alcune risorse nella tua lingua preferita.

Usiamo non tanto un'alternativa ma un ibrido chiamato MVC-ARS .

Conosco il MVCS di Joe Berkovitz.

Prof. Kowarschick ha utilizzato questo approccio per sviluppare il VCLSD -Pattern (Wiki scritto in tedesco! Forse qualcuno ha tempo per tradurlo - come per me sono solo un principiante nella programmazione)

MVCS: Servizio controllo vista modello
VCLSD: Visualizza i dati del servizio di logica di controllo

Che ne dici di flux.js da Facebook? So che dipende dalla piattaforma, ma è un'architettura di flusso di dati utilizzata da FB come sostituto di MVC, quindi credo che anche tu possa avere alcune idee da lì.

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