IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

MVC Discussion :

MVC sur iPhone ( constat / débat / blabla)


Sujet :

MVC

  1. #1
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 26
    Points : 18
    Points
    18
    Par défaut MVC sur iPhone ( constat / débat / blabla)
    Bonjour à tous.

    J'utilise depuis un certain temps le pattern MVC à "ma façon" sur différents frameworks (swing, android, gwt etc...).
    Je suis en train de me mettre à l'iPhone et je suis assez troublé de la manière dont le modèle MVC est promu sur iPhone. Les questions que je me pose concernent plus spécifiquement l'interaction entre la vue et le controller.

    Voilà comment je concevais et utilisais le pattern MVC jusqu'à présent :
    (je parle que de la vue et du controlleur)

    - La vue et le controlleur communiquent l'une avec l'autre uniquement via une interface (une pour la vue et une pour le controlleur)

    - Le controlleur n'a pas connaissance des éléments de la vue, mais juste d'une interface sur cette dernière.

    Exemple, si la vue est uniquement constitué d'un simple label et que le controlleur désire modifier le contenue de ce label. Dans ce cas, le controlleur le demande à la vue en faisant "vue.changePresentationMesssage("blabla");".
    En aucun cas le controlleur a un pointeur (ou une référence) sur le label en question et donc ne peut pas faire "label.setText("blabla");

    L'énorme avantage que je vois à ma méthode est la possibilité de tester la vue en isolation (de part le fait qu'on interragit avec elle uniquement via une interface et donc qu'on garde un couplage faible entre la vue et le controlleur )


    Seulement voilà, sur iPhone les controlleurs (ViewController par exemple) possèdent l'ensemble des éléments constitutifs de la vue (labels, boutons etc...)
    Loin de moi biensur l'idée de critiquer un framework que je connais à peine, cependant à premier abord je trouve ça "pas propre" d'avoir un tel couplage entre la vue et le controlleur... quel est votre avis ? Y aurait-il qqc qui m'échappe ?

    En fait je me demande si l'implémentation du pattern MVC que je faisais ne se rapproche pas plus au final du pattern MVP ( http://code.google.com/intl/fr/webto...using_gwt.html)

    Voilà, merci d'avoir fait l'effort de me lire et si vous un commentaire/explication à apporter, you're welcome

  2. #2
    Membre Expert

    Homme Profil pro
    Ingénieur R&D
    Inscrit en
    Juin 2003
    Messages
    4 506
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur R&D
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2003
    Messages : 4 506
    Points : 5 724
    Points
    5 724
    Par défaut
    Je pense que l'incompréhension vient du fait que dans le pattern MVC le controller ce n'est pas seulement un contrôleur de vue mais un contrôleur d'application incluant le contrôle aussi de la vue.

    Avec l'iphone j'ai l'impression qu'il y a une séparation entre contrôleur de vue et contrôleur d'application. En fait même dans MVC tu peux spécialiser un contrôleur pour la vue qui aurait des références vers des labels etc. cependant il resterait quand même un contrôleur d'application pour la relation avec la couche métiers et les événements applicatifs
    " Dis ce que tu veux qui insulte mon honneur car mon silence sera la réponse au mesquin.
    Je ne manque pas de réponse mais : il ne convient pas aux lions de répondre aux chiens ! " [Ash-Shafi'i ]

  3. #3
    Expert éminent sénior
    Homme Profil pro
    Architecte technique retraité
    Inscrit en
    Juin 2008
    Messages
    21 283
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Manche (Basse Normandie)

    Informations professionnelles :
    Activité : Architecte technique retraité
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2008
    Messages : 21 283
    Points : 36 770
    Points
    36 770
    Par défaut
    Salut,

    Il y a beaucoup de confusion sur ces sujets et comme les frontières "bougent", il va falloir améliorer un peu la précision.
    Je vous propose la lecture de cet article de blog qui récapitule et compare les variations entre MVC, Application-MVC, MVVC, MVP, passive MVP...
    Cordialement,
    - W
    Architectures post-modernes.
    Python sur DVP c'est aussi des FAQs, des cours et tutoriels

  4. #4
    Membre à l'essai
    Profil pro
    Inscrit en
    Décembre 2006
    Messages
    26
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 26
    Points : 18
    Points
    18
    Par défaut
    Très bon article effectivement, merci !

Discussions similaires

  1. [.NET 3.5] Comment peut-on developpez sur iphone ?
    Par ikeas dans le forum Windows Presentation Foundation
    Réponses: 4
    Dernier message: 28/09/2008, 16h31

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo