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

MFC Discussion :

Avantage avec ou sans Document/View architecture support?


Sujet :

MFC

  1. #1
    Lucas Panny
    Invité(e)
    Par défaut Avantage avec ou sans Document/View architecture support?
    Hello everybody !

    Je me rends compte aujourd'hui d'avoir toujours laissé coché cette case à cocher "Document/View architecture support" lorsque j'ai créé un projet mfc gui sdi/mdi.
    J'ai décoché cette case et je vois que le résultat est le même.
    Quelle est la différence entre avec ou sans doc/view support ? Que me conseillez-vous ?

  2. #2
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Points : 96
    Points
    96
    Par défaut
    Salut,

    Il faut d'abord comprendre un truc:
    Au départ, tu as un modèle de document ( DocTemplate ), après ( 1,n )document(s) découlant(s) de ce DocTemplate et ensuite les ( 1,n ) vue(s) rattachée(s) à ce document. ( Tu ne peux pas avoir plusieurs documents pour une même vue et plusieurs DocTemplates pour un même document).

    L'avantage de cette architecture est la "facilité" de communication entre toutes ces entités.
    => Tu peux retrouver, à partir d'une vue, la vue "x" d'un autre document en remontant le courant par le pointeur que te renvoie CView::GetDocument( ).
    => Tu peux remonter de la même manière jusqu'au DocTemplate et "redescendre" dans un autre type de document.
    => Les classes dérivant de CDocument permettent le traitement de données ( Archivage, impression etc, ) de manière pré-fabriquée.
    => Plusieurs vues peuvent atteindre les mêmes données ( attention aux synchronisations ) du document auquel elles sont rattachées etc.

    Tu peux te passer de cette architecture en jouant avec les messages ( au sens Windows du terme et puisque c'est ce qui est sous-jacent tout de même ) mais si tu t'attaques à un projet conséquent, la Doc/View architecture te permettras de gagner du temps.

    Voilà.

  3. #3
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    En plus de ce qu'a dit Denn's,
    On peut s'en passer si on est en SDI, ou en MDI une seule vue par document.
    par défaut je préfère rester dans le mode document/view.

  4. #4
    Lucas Panny
    Invité(e)
    Par défaut
    Ok !

    On peut décocher alors cette option si on utilise un document par view !! Par ex, j'ai une liste CObList d'objets, je le mets alors en attribut de la classe View puisqu'il n'y a plus de Doc !
    Comment ça : un document peut avoir plusieurs view ?? Lorsqu'on fait File > New, un seul MDIChildWnd s'affiche, le view n'est-il pas cet espace blanc pour dessiner (si c'est du CView simple) ???

  5. #5
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    Citation Envoyé par Lucas Panny Voir le message
    Ok !

    On peut décocher alors cette option si on utilise un document par view !! Par ex, j'ai une liste CObList d'objets, je le mets alors en attribut de la classe View puisqu'il n'y a plus de Doc !
    Comment ça : un document peut avoir plusieurs view ?? Lorsqu'on fait File > New, un seul MDIChildWnd s'affiche, le view n'est-il pas cet espace blanc pour dessiner (si c'est du CView simple) ???
    faq: http://cpp.developpez.com/faq/vc/?pa...OnSameDocument

  6. #6
    Rédacteur
    Avatar de farscape
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    9 055
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Alpes Maritimes (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Novembre 2003
    Messages : 9 055
    Points : 17 323
    Points
    17 323
    Par défaut
    dans tous les cas je viens de regarder ce qu'il génère dans ce mode ,
    a mon avis tu y perds plus que ce que tu penses y gagner dans ce mode....

  7. #7
    Membre régulier
    Inscrit en
    Février 2006
    Messages
    256
    Détails du profil
    Informations forums :
    Inscription : Février 2006
    Messages : 256
    Points : 96
    Points
    96
    Par défaut
    Oui, un document peut avoir plusieurs vues.
    Quand tu fais File -> New, tu crées un nouveau document, pas une nouvelle vue.
    Tu crées une nouvelle vue quand tu fais Window -> New et là tu as plusieurs vues.
    Avantage:
    Si tu as un document contenant beaucoup de données que tu veux afficher sous forme d'arbre ou de liste avec un TreeView ou une ListeView et que ça te donne un arbre/liste de "10m de haut", le fait d'ajouter une vue te permet de voir le haut et le bas en même temps dans deux fenêtres distinctes...

  8. #8
    Lucas Panny
    Invité(e)
    Par défaut
    Ok ! Je comprends actuellement l'utilité de l'architecture Doc/View !!
    En fait, je voyais depuis toujours l'éloge à cette architecture mais sans en comprendre !

    Merci Farscape et Denn's !!

Discussions similaires

  1. Réponses: 0
    Dernier message: 16/06/2015, 21h50
  2. Réponses: 27
    Dernier message: 30/10/2007, 10h12
  3. Saut avec ou sans condition
    Par Frenchghost dans le forum Assembleur
    Réponses: 16
    Dernier message: 03/01/2005, 13h28
  4. [C#] [EXCEL] Travailler avec EXCEL sans ouvrir le logiciel
    Par Fabsou dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/07/2004, 10h29
  5. Réponses: 6
    Dernier message: 21/06/2002, 14h48

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