Moraphi.com

Internet

Conception MVC

La théorie

La méthode de conception MVC consiste à séparer en trois parties distinctes une application:

  • Le Modèle: les données de l'application.
    Dans les sites que j'ai réalisé, cette partie était la base de donnée MySQL et les fonctions dédiées pour y accéder.
  • La Vue: l'interface utilisateur.
    Dans le cadre d'une application internet, c'est la page que l'utilisateur verra, et avec laquelle il pourra intéragir.
    J'ai pour cette partie utilisé Smarty, qui permet de ne s'occuper que de la présentation d'un site.
  • Le Contrôleur: la logique applicative.
    Intermédiare entre le Modèle et la Vue, il va récupérer des informations dans le modèle après une demande de l'utilisateur dans une vue, les traite, et les passe à la vue pour retour à l'utilisateur.
    Cette dernière partie, je l'ai créée avec du PHP.

 

La Vue et le Contrôleur dépendent du Modèle, mais le Modèle ne dépend ni de la Vue ni du Contrôleur.

Sur le Web, la séparation entre la Vue et le Contrôleur est clairement définie.

Avantages et Inconvénients

Si j'ai mis en place cette méthode et que j'en parle ici, c'est que je crois qu'elle peut apporter un réel plus à une application. Mais si elle présente des avantages indéniables, elle peut aussi présenter des inconvénients. C'est ce que nous allons voir tout de suite.

 

Avantages:

  • L'interface utilisateur (la Vue) peut afficher les mêmes données de différentes manières: pour un écran, un téléphone mobile par exemple.
    Cela pour un seul et même Modèle.
  • Le code de l'application est souvent plus propre, car il faut plus penser à l'agencement du programme en amont. Si le programme est mieux réfléchi avant le début de la programmation, son code a au final de grandes chances d'être plus propre.
  • L'évolution à court terme de l'application est plus aisée: les exigences en ce qui concerne l'interface utilisateur évoluent souvent plus vite que le coeur même de l'application. Avec la méthode MVC, il est facile de créer de nouvelles vues, de les modifier, sans toucher au reste de l'application.

Inconvénients:

  • Le principal inconvénient réside dans le fait que les applications créées ont tendance à être plus complexes.
    Cette méthode n'est donc pas à conseiller pour de toutes petites applications.