MVC, MVP, MVVM

Trois patrons qui séparent l'interface du métier : le rôle du modèle, de la vue, du contrôleur, du présentateur et de la vue-modèle, le sens des dépendances et ce qui distingue les trois.

  • 28 cartes
  • 4 thèmes
  • Gratuit

Le programme, thème par thème

Le poids de chaque thème suit celui que lui donne l'examen.

  1. Notions
  2. Questions
  3. Ranger et relier
  4. Sur le schéma

Quelques cartes du deck

  • Séparation des préoccupations : de quoi s'agit-il ?

    Voir la réponse

    Principe qui consiste à découper un programme en parties dont chacune traite un seul sujet : les données et règles, l'affichage, la réaction aux gestes.

    Quand on change l'apparence d'un écran, on ne devrait toucher ni aux règles de calcul ni à l'accès aux données : MVC, MVP et MVVM sont trois façons d'appliquer ce principe à une interface.

  • Qu'affiche ce programme organisé en MVC ?

    ```python
    class Panier:
    def __init__(self):
    self.articles = []
    def ajouter(self, prix):
    self.articles.append(prix)
    def total(self):
    return sum(self.articles)

    class Vue:
    def afficher(self, total):
    print("Total :", total)

    class Controleur:
    def __init__(self, panier, vue):
    self.panier = panier
    self.vue = vue
    def clic_ajouter(self, prix):
    self.panier.ajouter(prix)
    self.vue.afficher(self.panier.total())

    c = Controleur(Panier(), Vue())
    c.clic_ajouter(10)
    c.clic_ajouter(5)
    `

    • Total : 10 puis Total : 15
    • Total : 10 puis Total : 5
    • Total : 15 deux fois de suite
    • Total : 10 puis Total : 10
    Voir la réponse

    Total : 10 puis Total : 15

    Le panier garde son état d'un clic à l'autre : le second appel additionne 5 aux 10 déjà présents. La vue ne fait qu'afficher le total que le modèle calcule.

  • Dans MVC, le modèle ne connaît ni la vue ni le contrôleur : la … observe le modèle, et le … transmet les actions de l'utilisateur.

    Voir la réponse

    Dans MVC, le modèle ne connaît ni la vue ni le contrôleur : la vue observe le modèle, et le contrôleur transmet les actions de l'utilisateur.

    Le sens des dépendances est ce qui compte : le modèle est au centre et n'a besoin de personne, les autres parties dépendent de lui.

  • Modèle : de quoi s'agit-il ?

    Voir la réponse

    Partie qui détient les données de l'application et leurs règles de gestion, sans rien connaître de l'écran.

    Comme il ignore l'affichage, le même objet peut servir une page web, une application mobile ou un test automatique sans aucun changement.