Magento 2 est Model View, View Model System et non MVC - Explication
Publié: 2017-10-04La sortie de Magento 2 a radicalement changé la façon dont les développeurs planifient et écrivent le code d'un site Web. Magento fournit une plate-forme de commerce électronique sans faille à des milliers de marchands à travers le monde pour présenter facilement leurs produits à un public plus large. Magento 2 s'inscrit dans la remarquable architecture que les marchands utilisent depuis longtemps.
Par exemple, les principales plateformes de commerce électronique telles que GlassesUSA.com, sur lesquelles vous pouvez acheter des lunettes en ligne, utilisent Magento. Selon l'équipe de GlassesUSA, Magento a rendu son site Web facilement évolutif pour répondre aux diverses exigences commerciales, qui évoluent chaque jour. Avec l'évolution de la dynamique du marché et l'élargissement constant de la base de clients, l'adoption de Magento a été l'une des décisions les plus vitales. Cela a eu une influence positive et réduit leurs temps d'arrêt pour la maintenance du site Web à presque zéro. Ils ont simplement besoin d'ajouter ou de modifier un module pour refléter le changement souhaité dans leur site Web, sans entraver la continuité des activités ou l'expérience utilisateur.
La conception architecturale de Magento a été créée par des développeurs qui mettent à disposition une sorte de code source qui peut facilement être personnalisé en fonction des besoins spécifiques de l'entreprise. C'est la beauté de l'architecture qui permet aux développeurs et aux commerçants d'ajouter des modules et d'étendre les fonctionnalités d'un thème de commerce électronique Magento.
Une majorité de plates-formes nécessite une modification du code de base pour personnaliser le produit final, mais Magento est bien au-delà des problèmes courants. L'ajout d'une option ou d'une fonctionnalité est facilité par l'installation d'un plugin Magento. Par exemple, si vous avez besoin d'ajouter des extraits structurés à vos pages de produits, une simple installation de l'extension d'extraits enrichis Magento ou d'une application similaire peut faire le travail. Inutile de modifier le code et d'injecter les informations supplémentaires sur le produit séparément sur chaque page de destination.
La conception architecturale profite aux vendeurs et aux administrateurs de sites Web de commerce électronique pour personnaliser, mettre à jour et ajouter facilement de nouvelles fonctionnalités. Discutons de certains des modèles architecturaux avant de commenter la marque de Magento.
Article connexe : Comment modifier et supprimer une commande dans Magento 2
Modèle MVC (contrôleur de vue de modèle)
MVC est une application de conception qui divise l'accès aux données via le modèle, différencie le front-end avec la vue, la logique métier via un contrôleur. Ce modèle de conception a été introduit dans les années 1970 pour séparer l'interface utilisateur du modèle. Grâce à l'incorporation de MVC, il devient plus facile de réparer, de maintenir et de tester une application. Le thème central du modèle de conception est la division d'une application en trois aspects architecturaux qui incluent le modèle, la vue et le contrôleur.
Le modèle symbolise la logique métier d'une application à travers un ensemble de classes. Il peut s'agir d'un modèle de données ou d'un modèle commercial. Un modèle montre également la façon dont les données sont modifiées, modifiées ou manipulées.
La vue est l'interface utilisateur ou le frontal d'une application. Cela inclut des composants d'interface utilisateur tels que jQuery, CSS, HTML, etc. Il affiche les données qu'il obtient du contrôleur de l'application en tant qu'informations de résultat. View réplique le modèle avec une interface utilisateur.
Le contrôleur est responsable du traitement des requêtes qu'une application reçoit du frontal. Il récupère les informations des utilisateurs finaux via View, traite les données via Model, puis les renvoie au frontal (vue). Cela fonctionne comme un pont entre le modèle et la vue.
Article suggéré : Comment soumettre une extension Magento 2 sur le marché ?
Vue Modèle Système ViewModel (MVVM)
MVVM est un modèle architectural utilisé dans la programmation et le développement de logiciels. Le système fonctionne sur un mécanisme de liaison de données bidirectionnel entre View et ViewModel. Cela simplifie l'automatisation des modifications dans le ViewModel pour l'afficher dans la vue.
MVVM a le modèle et la vue, tout comme ils sont présents dans MVC, mais les contrôleurs sont remplacés par ViewModel.
Magento 2 est-il un système MVVM ou MVC ?
Magento 2 est un Model View ViewModel System et non plus un design structuré par MVC. Le modèle MVC a été incorporé dans la version précédente et semble être assez similaire à MVVM, mais MVVM est beaucoup plus riche en divisant la vue et le modèle dans une application.
MVVM a trois couches qui incluent Model, View et ViewModel. La logique métier d'une extension ou d'une application est représentée par le modèle, tandis que le front-end est représenté par la vue. Tout comme la façon dont les contrôleurs servent de médiateur dans un modèle MVC, le ViewModel comble le fossé entre le modèle et la vue dans un système MVVM.
On dit qu'une extension développée pour Magento 2 comprend les éléments de conception de base qui sont discutés ci-dessus. Alors que le rôle des contrôleurs n'est pas complètement supprimé de Magento 2 car il est chargé de gérer le flux d'utilisateurs, ce qui inclut la communication au système des demandes des utilisateurs.
Permettez-moi d'expliquer la même chose à l'aide d'un exemple. À titre d'exemple, vous pouvez essayer de configurer une nouvelle URL et de créer un modèle phtml pour celle-ci. Lorsque vous demandez une nouvelle URL dans Magento 2, comme http://magento.abc.com/hi/friend, le système MVVM enverra la demande à un contrôleur pour la traiter comme dans MVC. Mais, il existe une différence majeure dans la responsabilité du contrôleur dans MVVM. Il est tenu responsable de
- Détermination de la mise en page à sélectionner
- Gérer pour préserver les données des demandes des utilisateurs
- Et, soit communiquez au système pour qu'il réponde avec HTTP, soit
- Dirigez les utilisateurs vers la page suivante ou précédente
La configuration d'un exemple d'URL vous aidera à remarquer qu'aucune variable n'est mentionnée dans la vue, car chaque composant de la vue est tenu responsable de dériver lui-même des données ou des informations à partir de la couche de modèle, de l'objet ou d'une source externe. Le MVVM permet à Magento de diviser une page HTML en plusieurs sections appelées conteneurs. Ces conteneurs possèdent des blocs qui sont reliés par une structure arborescente. Les blocs comprennent en outre un fichier modèle phtml.
L'objet de bloc Magento sert de ViewModel si vous parlez spécifiquement du système MVVM. Le bloc d'objets est capable de scanner et de lire les modèles commerciaux, les demandes des utilisateurs, d'acquérir des données à partir d'un système externe, etc. le fichier de modèle est appelé vue qui collabore uniquement avec l'objet de bloc qui est le modèle de vue
Conclusion
Magento 2 a pris à juste titre la décision de passer au système Model View ViewModel car c'était un besoin de l'heure. Le modèle MVVM va plus loin dans le partitionnement de la logique de modèle de la logique métier. Le système est sûrement spéculé pour faciliter les marchands et les utilisateurs finaux, alors que les développeurs peuvent avoir du mal au début à faire face au codage d'une extension pour un site Web alimenté par Magento 2 et le système MVVM.