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

Langage Java Discussion :

Problème de conception


Sujet :

Langage Java

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut Problème de conception
    Bonjour à tous,

    Voilà je voudrais créer une petite application relativement simple mais "bien conçue". Je connais plutôt bien les bases de Java maintenant mais j'aimerais m'entraîner en créant cette application correctement.

    Voilà l'objectif de ce programme :
    A l'exécution le main() affiche un menu de type JPopupMenu à l'endroit ou est placée la souris. Ce menu contient des entrées qui seront personnalisées par l'utilisateur au moyen d'un petit panneau de contrôle, mais je n'en suis pas encore là. Ces entrées sont stockées dans un fichier xml qui est lu pour reconstruire le menu.

    Les entrées du menu sont des commandes (lancer un programme, aller à une adresse, etc) mais peuvent aussi être des sous-menus, ou des séparateurs.

    Afin de représenter ces éléments de manière "métier" j'ai créé un modèle avec quelques classes, une superclasse Element et des dérivées comme RunProgramElement, FolderElement, etc.
    La superclasse Element a une méthode abstraite doAction() qui est implémentée par ses dérivées.

    Mon objectif dans ce développement est de bien séparer les 3 parties du MVC, afin d'en simplifier la maintenance et l'ajout de fonctionnalités.

    J'ai déjà commencé une bonne partie de la programmation mais je tombe régulièrement sur des problèmes pour faire abstraction de l'implémentation des différents éléments pour instancier mon menu.

    J'aurais donc besoin d'aide pour qu'une personne aguerrie dans ce genre de concept me donne des pistes de décomposition de mes éléments MVC et de chacun de leur rôle pour mon application.

    J'espère avoir été clair, c'est pas forcément simple à expliquer.
    Merci d'avance

  2. #2
    Membre chevronné Avatar de bassim
    Homme Profil pro
    Ingénieur Réseaux
    Inscrit en
    Février 2005
    Messages
    666
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 40
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Ingénieur Réseaux
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Février 2005
    Messages : 666
    Par défaut
    déjà pour commencer un bon tutoriel sur MVC :
    MVC

    j'espere t'avoir un peu aidé

  3. #3
    Membre averti
    Homme Profil pro
    Développeur Web
    Inscrit en
    Mars 2007
    Messages
    15
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Développeur Web
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Mars 2007
    Messages : 15
    Par défaut
    Merci pour le cours, effectivement il a l'air assez bien construit et facile à comprendre.

    J'ai pu saisir quelques détails et comprendre que ma première orientation en développant n'était pas la bonne. Comme les entrées du menu sont fixes l'approche MVC n'est pas judicieuse (il n'y a pas de modification du modèle pendant l'affichage de la vue), donc ce n'est pas en me basant sur le MVC que je pourrais faire ce que je voulais, à savoir une conception solide qui permettrait d'ajouter facilement des fonctionnalités.

    Je vais réfléchir à nouveau à ça...

  4. #4
    Membre expérimenté Avatar de g0up1l
    Profil pro
    Inscrit en
    Janvier 2006
    Messages
    341
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Janvier 2006
    Messages : 341
    Par défaut si on peut aider...
    Citation Envoyé par Nanawel
    Bonjour à tous,

    Voilà je voudrais créer une petite application relativement simple mais "bien conçue". Je connais plutôt bien les bases de Java maintenant mais j'aimerais m'entraîner en créant cette application correctement.

    Voilà l'objectif de ce programme :
    A l'exécution le main() affiche un menu de type JPopupMenu à l'endroit ou est placée la souris. Ce menu contient des entrées qui seront personnalisées par l'utilisateur au moyen d'un petit panneau de contrôle, mais je n'en suis pas encore là. Ces entrées sont stockées dans un fichier xml qui est lu pour reconstruire le menu.

    Les entrées du menu sont des commandes (lancer un programme, aller à une adresse, etc) mais peuvent aussi être des sous-menus, ou des séparateurs.

    Afin de représenter ces éléments de manière "métier" j'ai créé un modèle avec quelques classes, une superclasse Element et des dérivées comme RunProgramElement, FolderElement, etc.
    La superclasse Element a une méthode abstraite doAction() qui est implémentée par ses dérivées.

    Mon objectif dans ce développement est de bien séparer les 3 parties du MVC, afin d'en simplifier la maintenance et l'ajout de fonctionnalités.

    J'ai déjà commencé une bonne partie de la programmation mais je tombe régulièrement sur des problèmes pour faire abstraction de l'implémentation des différents éléments pour instancier mon menu.

    J'aurais donc besoin d'aide pour qu'une personne aguerrie dans ce genre de concept me donne des pistes de décomposition de mes éléments MVC et de chacun de leur rôle pour mon application.

    J'espère avoir été clair, c'est pas forcément simple à expliquer.
    Merci d'avance
    bonjour,

    je ne suis pas un spécialiste du langage Java mais j'ai un peu d'expérience en conception objet ( C++ ).
    Les règles de bases du pattern MVC sont :

    -La vue est une réprésentation du modèle ( ou document ), elle le représente mais ne peuvent le modifier
    -Le contrôleur concentre les évènements utilisateurs ( click,...) récoltés par la vue et décide de la suite à donner, éventuellement passe le relais à une machine à états. En tout état de cause, il est le seul à modifier le document
    -le document contient tes données, il ne modifie jamais la vue directement mais prévient celle-ci qu'il a été modifié

    Si tu veux ne manipuler le document QUE par interface, tu peux abonner ton document à plusieurs interface en fonction de la partie à modifier.
    Ainsi, qd ton contrôleur reçoit un evt à traiter, il demande au document son Interface spéciale pour le type de traitement.

    Le top étant de s'adjoindre les services du pattern CommandProcessor qui permet de ne manipuler le document que par des classes de type Command ( processus de réïfication des fonctions du document ). En outre, ce pattern propose nativement le redo et le undo ainsi que l'historique des commandes.

    voili, voilou

Discussions similaires

  1. Méthode Finalize et problème de conception
    Par phryos dans le forum Langage
    Réponses: 4
    Dernier message: 19/04/2006, 11h04
  2. [VB6][UserControl et OCX]Problème de conception
    Par jacma dans le forum VB 6 et antérieur
    Réponses: 8
    Dernier message: 19/01/2006, 22h37
  3. Petit problème de conception sur access
    Par coooookinette dans le forum Modélisation
    Réponses: 3
    Dernier message: 18/12/2005, 18h24
  4. Gestion des départements problème de conception
    Par snoopy69 dans le forum Modélisation
    Réponses: 7
    Dernier message: 11/10/2005, 13h08
  5. Problème de conceptions de tables
    Par dtavan dans le forum MS SQL Server
    Réponses: 2
    Dernier message: 23/05/2004, 23h13

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