Modelisation UML et model MVC ...

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Modelisation UML et model MVC ...

Re: Modelisation UML et model MVC ...

par Berzemus » 22 mars 2010, 22:57

Il n'y a pas vraiment de définition stricte du MVC.. et l'appliquer au web (ce pourquoi il n'était pas destiné, en '79) peut être assez particulier.

Je le considère plutôt comme une orientation générale ou tu sépares:
la source de données (modèle)
les actions possibles avec ces données (contrôleur)
une interface vers ses actions (vue)

Dire qu'il n'y aura pas de code dans la vue est faux, puisqu'il y en aura pour traduire les actions vers le medium visé (une interface java, web, ligne de commande, service web,etc..), juste qu'elles n'auront aucune "intelligence" vis-à-vis du contenu, c'est la porte vers l'extérieur.

Le modèle, c'est la DB, une autre Vue (d'une autre application), la couche d'abstraction entre la DB et l'appli, ce qui sert à amener les données à l'application.

Le contrôleur, c'est l'action sur les données, en réaction aux opérations transmises par la vue, sur les données originaires du modèle, avant de renvoyer les données modifiées au modèle, et le résultat de l'action à la vue.

C'est un peu théorique et très simplifié, et à la longue on peut avoir du mal à s'attacher à ses principes (en perdant de vue certains aspects de la séparation, parfois des excroissances assez bizarres peuvent se développer pendant qu'on code à longueur de journée. D'où l'utilité du refactoring :mrgreen: )

Dans l'idéal, tu devrais pouvoir passer d'une interface web à une interface en ligne de commande rien qu'en créant une nouvelle vue. Et si c'est toute la DB qui change de techno, il n'y à que le contrôleur qui devrait être modifié.

Certaines implantations font agir la vue sur le modèle, mais c'est pas la voie que j'utilise. En tout cas, c'est un sujet assez vague :twisted:

Re: Modelisation UML et model MVC ...

par stopher » 22 mars 2010, 19:59

Salut ,

Pour moi , le mvc se représente ainsi :

Image

Ce que tu as dit quand aux taches de chaque partie Models, Vues,Controllers, mais ce n'est pas parce qu'il il n'y a pas d'autre lettre qu'il n'y a rien d'autre derriere .

En effet , tu as aussi des classes métier qui elles sont là pour spécifiquement pour ton application .
Indépendantes du model MVC

C'est donc ton controller qui va les implémenter , les utiliser , les faire vivre en quelque sorte , avant d'envoyer la sauce .. enfin les donées finales aux vues .

Bon , c'est mon idée la dessus .. mais sur ce genre de sujet il risque d'y avoir pas mal de divergences ..

Ch.

Modelisation UML et model MVC ...

par abousa3d » 22 mars 2010, 18:57

Bonjour,

je developpe une application sous php, et je dois utliser un framework MVC.
J'ai fait l'étude UML du projet mais j'ai un gros probléme de compréhesion, je vous explique:

J'ai une application a faire et j'ai réalisé (au brouillon) les diagramme de class. J'ai donc des class Dialogue, Controler et Entité.
Le gros
probléme c'est que je dois impolémenter l'application selon le model MVC et c'est la que cela bloqe complétement. Car je ne vois pas le lien entre les deux.
Au niveau du MVC d'aprés ce que j'ai appris :

* Le modèle : Il représente les données de l'application. Il définit aussi l'interaction avec la base de données et le traitement de ces données.
* La vue : Elle représente l'interface utilisateur, ce avec quoi il interagit. Elle n'effectue aucun traitement, elle se contente simplement d'afficher les données que lui fournit le modèle. Il peut tout à fait y avoir plusieurs vues qui présentent les données d'un même modèle.
* Le contrôleur : Il gère l'interface entre le modèle et le client. Il va interpréter la requête de ce dernier pour lui envoyer la vue correspondante. Il effectue la synchronisation entre le modèle et les vues.

Je me retrouve avec des class dialogue dans lesquels il y a des traitement, alors que dans le MVC, il est bien stipulé qu'une vue n'effectue aucun traitement, donc que faire des méthode de traitement que j'ai dans mes class dites dialogue ??
De la même façon, dans le MVC, en principe le controller n'a pas de méthode, ni d'attribut, il fait le dispatcher et fait l'interface entre les vues et les dialoque. Ce que je comprend pas c'est quand je me retouve avec des class Dialogue dans lesquels il y a des opération, donc que faire de ces méthodes ?
De la même façon, dans le MVC, on trouve dans le Model les opérations, méthodes d'accé et de traitement des données. Ce que je ne comprends pas c'est que je me retrouve avec des class Entité qui n'ont aucune opération, aucune méthode, que des attributs ... donc la je comprens plus dutout ..

Voila vous l'aurrez compris tout s'entremele dans ma tete entre MVC et Entité Dialogue Controller

Je vous remercie d'avance pour voitre aide !

A+