Utilizzo Django da molti anni (da Django 1.2). e in passato, ho utilizzato diversi tipi di framework web (come CakePHP, Rails, ASP.NET MVC e alcuni altri framework full stack). Django non era il mio primo quadro.Modello quadro simile a Django
Diversi quadri hanno differenze nei loro approcci e benefici. Ci sono alcune parti di quelle strutture che mi piacciono e io no. In questo contesto, mi piacerebbe guardare il design di Django Framework in modo più specifico.
Dopo il passaggio a Django, mi piace come progetta la struttura. Quando apprendo una nuova lingua (come Go, Scala, Ruby, Haskell), cerco di cercare una struttura che abbia qualche somiglianza nel suo design, specialmente quelli che ho menzionato in seguito.
Di seguito sono il Django decisione 2 disegno quadro che è molto diversa:
- si incoraggiano applicazioni plug o applicazioni riusabilità. Quindi:
- allontanandosi dalla monolithic design by Jacob Kaplan-Moss
- l'utilizzo di più applicazioni per create a full feature site, without any model or logic
- scrittura di un progetto a meno Django menzionati nella Practical Django Projects by James Bennett
- utilizza Model View Template invece di MVC classica:
- menzionato in FAQ.
- vista descrive quali dati sono presentati
- modello descrive come i dati vengono presentati
- una vista normalmente delegati a un modello
- regolatore è probabilmente il framework stesso: il macchinario che invia una richiesta alla vista appropriata, in base alla configurazione dell'URL di Django.
non crederei che Django pionieri tali caratteristiche. Ho creduto che questo modello fosse molto comune in Framework Design. Solo che non ne ho idea, come si chiama questo modello? Questo concetto è molto utile per essere applicato in altri contesti. Credevo che conoscere il nome del modello potesse aiutarmi a capire o persino costruire un nuovo framework su un linguaggio diverso con lo stesso concetto.
Attualmente ci sono tonnellate di framework web, molti dei quali seguono il classico pattern MVC. Alcuni usano il concetto di plugin per aggiungere determinate funzionalità. Il plugin tuttavia risolve la riusabilità in un approccio diverso a seconda del contesto.
Così ho cercato di imparare il maggior numero possibile di framework per trovare un framework alternativo in diverse lingue. Sperando di poter scoprire il modello che Django usa.Tuttavia, è molto difficile per me imparare all of them. In effetti, non ne ho trovato uno finora.
Sono stato alla ricerca di:
- Django like framework in 'ruby'
- Django like framework in 'Java'
- Django come quadro in 'Haskell'
- Django come quadro in 'Go-Lang'
- Django come quadro in 'Scala'
Sfortunatamente, nessuno di loro veramente evidenzia il concetto a cui sono interessato.
In questo Q & A, vorrei sapere che cosa chiamano tale quadro le persone? (O quale pattern è utilizzato da Django?) Sarebbe bello se potessi dare un riferimento in questo progetto che altri framework avrebbero potuto usare anche tu?
Non cadere in questo confronto come piacere. In verità ho cercato questo modello, ma ho scoperto che non tutte le lingue danno la stessa esperienza e il medesimo potere espressivo di un altro. PHP è diverso da Ruby e Scala è diverso da Go. Anche le loro strutture saranno diverse. Django è unico per quello che è. –
@FanisDespoudis, concordiamo sul fatto che non dovremmo trovare un singolo quadro di verità, una struttura diversa ha capacità diverse. Inoltre servono meglio in diversi domini. Solo che questa domanda ha lo scopo di apprendere il modello, in modo da poter applicare a domini diversi. – Yeo
Non sono sicuro del motivo per cui questi downvoters debbano sottovalutare questa domanda. Spero che non confrontiamo le strutture migliori. Ma piuttosto impariamo ciò che potremmo da diversi quadri. La domanda – Yeo