Cosa c'era prima di MVC? [chiuso]

1

MVC viene utilizzato molto (non solo nelle app Web) e sembra che sia l'approccio "vai a" quando si progetta il software. Ci sono anche molte versioni MVC.

La mia domanda è: cosa c'era prima di MVC? In che modo le persone hanno strutturato grandi sistemi software?

Ovviamente la "separazione delle preoccupazioni" non è stata inventata con MVC (anche se non è stato definito così). Presumo che questo tipo di pensiero, che è cruciale per la creazione e la manutenzione del software, sia stato presente molto tempo fa.

Ma in termini più tecnici, come è stato strutturato il software prima di MVC?

    
posta Aviv Cohn 20.05.2014 - 21:54
fonte

2 risposte

6

MVC riguarda l'empowerment dell'utente per i sistemi di interfaccia grafica interattiva. Fu inventato all'incirca nello stesso periodo in cui erano presenti le GUI, e solo poco dopo che i sistemi interattivi divennero disponibili (e prima che diventassero diffusi). Empowerment dell'utente (almeno nel senso che il gruppo di Alan Kay l'ha capito, ovvero che la programmazione dovrebbe essere così semplice che gli utenti non dovrebbero dipendere dai programmatori per la programmazione) non è ancora successo.

Quindi, in un certo senso, era no "prima". All'epoca dell'invenzione di MVC, c'erano solo una decina di programmi che avrebbero beneficiato di MVC, e gli inventori di MVC li conoscevano tutti e (probabilmente) ne traevano ispirazione.

Più interessante è il fatto che la comunità che ha inventato MVC 35 anni fa l'ha quasi sempre abbandonato. Self (discendente diretto di Smalltalk) è apparso nel 1987 con l'interfaccia utente Fabrik (ispirata al Alternate Reality Kit), che è nettamente diversa da MVC, e Squeak Smalltalk (il dialetto Smalltalk progettato dai creatori originali di Smalltalk) ha adottato un port di Fabrik ha chiamato Morphic invece di MVC negli anni '90 (MVC è incluso solo nella distribuzione Squeak per i programmi legacy). Pharo, un moderno fork di Squeak, si sbarazza del tutto di MVC, in favore di Morphic. La maggior parte degli Smalltalks commerciali oggi utilizza alcune varianti di MVP, non MVC.

    
risposta data 21.05.2014 - 02:06
fonte
3

In realtà il concetto MVC pre-data GUI grafico.

Appare per la prima volta come un'architettura in grandi installazioni CICS mainframe.

La motivazione era la scalabilità piuttosto che la facilità di utilizzo e, per superare parte del thread singolo, i problemi di proprietà singola associati ai processi CICS o "regione" nel linguaggio M / F.

Quindi disponevi del controller che conteneva la logica dell'applicazione in un programma separato che poteva essere eseguito in una delle "Regioni proprietarie delle applicazioni".

Poi hai avuto la Vista come un programma separato che poteva essere eseguito in una qualsiasi delle "Regioni proprietarie del terminale" in cui gli utenti potevano accedere e avviare una sessione.

Finalmente il modello in una "Zona di proprietà dei dati" poteva essere presente in molti di questi, ma un vecchio file VSAM o database IMS doveva essere interamente di proprietà di una singola regione CICS. Al giorno d'oggi i "DOR" sono stati in gran parte sostituiti da connessioni a un vero database DB2.

Quindi, a parte la vera e propria GUI, quasi tutto ciò che si pensa come IT "moderno" è stato implementato sul mainframe nel secolo scorso.

Nel caso in cui ti stavi chiedendo VSAM è efficacemente un archivio dati "chiave" / "valore". IMS / DB è un database NoSql.

    
risposta data 21.05.2014 - 03:37
fonte

Leggi altre domande sui tag