[MUSIC]
Dans le développement web, vous entendez souvent des gens parler du framework MVC et
du framework MVVM et ainsi de suite.
Quels sont exactement ces cadres ?
Comment sont-ils utiles pour le développement web ?
Parlons brièvement de cela ensuite.
Dans le monde de l'ingénierie logicielle,
vous entendez souvent des gens parler de modèles de conception.
Ce qu'ils veulent dire exactement, c'est d'arrêter de réinventer la roue à chaque fois.
Un modèle de conception est une solution bien documentée à un problème récurrent.
Très souvent, vous vous voyez résoudre à plusieurs reprises des problèmes similaires.
Si nous avons une documentation bien spécifiée sur la façon de résoudre ces problèmes,
pourquoi continuer à réinventer la roue à chaque fois ?
C'est donc là que naît le concept de modèle de conception du logiciel
ingénierie.
Parfois, vous voyez aussi des gens se référant à cela comme un modèle d'architecture.
Donc, pour résumer, les modèles de conception logicielle en particulier sont une solution
réutilisable aux problèmes courants qui sont résolus dans le logiciel.
Maintenant, dans ce contexte, vous entendez souvent des gens parler de la bande de quatre.
C'était un groupe de quatre auteurs qui ont écrit ce livre fondateur intitulé
Design Patterns : Elements of Reusable Object-Oriented Software.
Dans ce livre, ils ont identifié un grand ensemble de modèles de conception
couramment utilisés en ingénierie logicielle.
C'était l'une des premières explorations bien documentées des modèles de conception,
et est donc devenu la référence pour tous ceux qui travaillent dans le domaine de l'ingénierie logicielle
, particulièrement préoccupés par les paquets de conception.
Ce modèle d'ingénierie logicielle nous permet d'isoler la logique de domaine
de l'interface utilisateur.
Donc, vous séparez fondamentalement la vue de l'utilisateur de l'information
de la logique réelle et la façon dont les informations stockées et manipulées.
Maintenant, ce concept de séparation des préoccupations que vous allez entendre encore et
encore dans ce contexte.
La séparation des préoccupations est ce qui facilite le développement indépendant de
chacune de ces trois parties de notre application et
permet également de tester et de maintenir ces différentes parties.
Maintenant, nous pouvons diviser notre application entière en trois parties,
la vue qui est principalement concernée par la présentation d'informations à l'utilisateur,
le modèle qui stocke l'état du domaine et la logique du domaine et
fournit également la façon de
manipuler cet état à partir du reste de l'application et
le contrôleur qui sert de médiateur entre la vue et le modèle.
Nous parlerons ensuite de chacune de ces trois parties plus en détail.
Dans le framework MVC, le modèle gère le comportement et les données
du domaine d'application.
Et le modèle répond aux demandes d'informations sur son état actuel.
Donc, généralement lorsque la vue veut rendre, ou la vue veut mettre à jour
elle-même, elle peut interroger le modèle afin d'obtenir des informations afin
qu'il puisse être rendu de manière appropriée à l'utilisateur.
Le modèle répondra également aux demandes de changement de son état.
Cela se fait généralement à travers le contrôle.
Dans un système piloté par des événements,
le modèle peut également être configuré pour notifier les observateurs.
Ainsi, les spectateurs peuvent s'inscrire en tant qu'observateurs pour le modèle et
lorsque le modèle est mis à jour, les vues seront automatiquement déclenchées pour
se mettre à jour en fonction du changement apporté à cet état du modèle.
La vue elle-même se préoccupe de présenter l'information aux utilisateurs dans un élément d'interface utilisateur
de telle manière qu'elle facilite à la fois la présentation de
informations à l'utilisateur et permet également à l'utilisateur d'interagir avec l'application.
Ainsi, la vue peut représenter une représentation de l'état du modèle.
Ainsi, à partir d'un seul modèle, vous pouvez facilement dériver plusieurs façons
de présenter cette information à l'utilisateur, selon pour
exemple, selon la taille de la fenêtre d'affichage.
Donc, une fenêtre de petite taille comme sur une application mobile,
l'information sera présentée d'une manière différente par opposition à
à un port de vue plus grand qui est facilité sur un ordinateur de bureau.
Donc, dans un framework MVC, tout l'affichage des informations a une correspondance de un à
avec l'état du modèle.
Le troisième morceau de puzzle dans le cadre MCV est le contrôleur.
Le travail du contrôleur est de recevoir des informations de la vue.
Ainsi, toute interaction utilisateur qui est effectuée sera capturée et
ensuite transmise au contrôleur afin d'agir sur ces interactions utilisateur.
Et c'est le travail du contrôleur alors d'initier un changement de l'état de
le modèle, si cela est nécessaire dans cette situation particulière.
Ainsi, le contrôleur provoquera de manière appropriée le changement de l'état du modèle.
Donc, pour résumer, le contrôleur peut accepter l'entrée
de l'utilisateur en termes d'interactions utilisateur qui ont eu lieu, et
alors il demandera au modèle de changer l'état.
Simultanément, le contrôleur peut également faire changer la façon dont les informations sont affichées dans la vue.
C'est donc la raison pour laquelle dans cette image vous avez deux flèches
allant du contrôleur, l'une vers le modèle et l'autre vers la vue.
Parfois, vous entendez des gens parler de l'approche de la vue du modèle.
L'approche de la vue du modèle est, en quelque sorte,
une dérivée de l'approche du contrôleur de vue du modèle.
Parfois, vous entendez aussi des gens qui l'évoquent comme l'approche de la vue du modèle
View-binder.
Ici, vous avez le modèle qui représente la logique métier et
les données de votre application.
À partir du modèle, vous dérivez un modèle de vue, qui encapsule cette partie
des informations requises pour rendre une vue spécifique.
Donc, le view-model est l'abstraction de la vue qui expose
les propriétés publiques et les différentes commandes qui sont disponibles.
Cela fournit donc une liaison de données déclaratives.
Dans un certain sens, la façon dont le composant et
les modèles en angulaire sont implémentés, il peut être considéré comme
une variante de l'approche de la vue du modèle vue-modèle.
Avec cette compréhension rapide du framework MVC et MVVM,
passons maintenant à en comprendre plus sur les services angulaires.
[MUSIQUE]