Qu'est-ce que l'architecture JavaScript MVC et comment fonctionne-t-elle?

Le model-view-controller est le nom d'une méthodologie pour relier l'interface utilisateur aux modèles de données sous-jacents. Lisez pour comprendre JavaScript MVC.

Dans le processus de développement de programmation orientée objet , modèle-vue-contrôleur (MVC) est une méthodologie ou un modèle de conception qui vous aide à relier efficacement et avec succès l'interface utilisateur aux modèles de données sous-jacents. Dans cet article, nous découvrirons les Architecture MVC dans l'ordre suivant:



Architecture MVC JavaScript

Ces derniers temps, le modèle MVC est appliqué à un large éventail de langages de programmation, y compris . JavaScript se compose d'un certain nombre de frameworks pour prendre en charge l'architecture MVC ou ses variantes. Il permet aux développeurs d'ajouter de la structure à leurs applications facilement et sans trop d'effort.



MVC - JavaScript MVC - edureka

MVC se compose de trois composants:



  • Modèle
  • Vue
  • Manette

Passons maintenant à la profondeur de ces trois composants JavaScript MVC.

programme de multiplication matricielle en java

Des modèles

Les modèles sont utilisés pour gérer les données d'une application. Ils ne concernent ni l'interface utilisateur ni les couches de présentation. Au lieu de cela, ils représentent des formes de données uniques dont une application peut avoir besoin. Lorsqu'un modèle est modifié ou mis à jour, il informera généralement ses observateurs du changement intervenu afin qu'ils puissent agir en conséquence.

comment utiliser goto c ++

Prenons un exemple de modèle simpliste implémenté à l'aide de Backbone:



var Photo = Backbone.Model.extend ({// Attributs par défaut pour les valeurs par défaut de la photo: {src: 'placeholder.jpg', légende: 'Une image par défaut', vue: faux}, // Assurez-vous que chaque photo créée a un `src`. initialize: function () {this.set ({'src': this.defaults.src})}})

Dans une galerie de photos, le concept de photo mériterait son propre modèle, car il représente un type unique de données spécifiques au domaine. Un tel modèle peut contenir des attributs associés tels qu'une légende, une source d'image et des métadonnées supplémentaires. Dans l'exemple ci-dessus, une photo spécifique serait stockée dans une instance d'un modèle.

Vues

Les vues sont une représentation visuelle des modèles qui fournissent une vue filtrée de leur état actuel. Les vues JavaScript sont utilisées pour créer et maintenir un élément DOM. Une vue observe généralement un modèle et est notifiée lorsque le modèle change, ce qui permet à la vue de se mettre à jour en conséquence. Par exemple:

var buildPhotoView = function (photoModel, photoController) {var base = document.createElement ('div'), photoEl = document.createElement ('div') base.appendChild (photoEl) var render = function () {// Nous utilisons un bibliothèque de modèles telle que Underscore // modèle qui génère le HTML pour notre // entrée photo photoEl.innerHTML = _.template ('#photoTemplate', {src: photoModel.getSrc ()})} photoModel.addSubscriber (rendu) photoEl. addEventListener ('clic', function () {photoController.handleEvent ('click', photoModel)}) var show = function () {photoEl.style.display = ''} var hide = function () {photoEl.style.display = 'none'} return {showView: show, hideView: hide}}

L'avantage de cette architecture est que chaque composant joue son propre rôle distinct pour faire fonctionner l'application selon les besoins.

Contrôleurs

Les contrôleurs agissent comme des intermédiaires entre les modèles et les vues, qui sont responsables de la mise à jour du modèle lorsque l'utilisateur manipule la vue. Dans l'exemple ci-dessus de notre application de galerie de photos, un contrôleur serait responsable de la gestion des modifications apportées par l'utilisateur à la vue d'édition pour une photo particulière, en mettant à jour un modèle de photo spécifique lorsqu'un utilisateur a terminé l'édition.

var PhotosController = Spine.Controller.sub ({init: function () {this.item.bind ('update', this.proxy (this.render)) this.item.bind ('destroy', this.proxy (this .remove))}, render: function () {// Handle templating this.replace ($ ('#photoTemplate') .tmpl (this.item)) return this}, remove: function () {this.el.remove () this.release ()}})

Cet exemple vous fournira un moyen très léger et simple de gérer les changements entre le modèle et la vue.

Frameworks JavaScript MVC

Au cours des dernières années, une série de JavaScript MVC a été développé. Chacun de ces frameworks suit une forme de modèle MVC dans le but d'encourager les développeurs à écrire du code JavaScript plus structuré. Certains des cadres sont:

algorithmes de tri c ++
  • backbone.js
  • Ember.js
  • AngularJS
  • Sencha
  • Interface utilisateur Kendo

Avec cela, nous sommes arrivés à la fin de l'article JavaScript MVC. J'espère que vous avez compris les trois composants impliqués dans l'architecture MVC.

Maintenant que vous connaissez JavaScript MVC, consultez le par Edureka. La formation de certification en développement Web vous aidera à apprendre à créer des sites Web impressionnants à l'aide des API HTML5, CSS3, Twitter Bootstrap 3, jQuery et Google et à les déployer sur Amazon Simple Storage Service (S3).

Vous avez une question pour nous? Veuillez le mentionner dans la section commentaires de «JavaScript MVC» et nous vous recontacterons.