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

Design Patterns Discussion :

[Java] problème de conception, multi héritage, composite ?


Sujet :

Design Patterns

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

    Informations forums :
    Inscription : Juin 2006
    Messages : 21
    Points : 17
    Points
    17
    Par défaut [Java] problème de conception, multi héritage, composite ?
    Bonsoir,

    J'ai voulu m'attaquer au développement d'une application qui me permettrait de manipuler des données.

    Pour simplifier la discussion, je vais montrer exactement ce que je souhaite faire.

    ce site http://www.krosmoz.com/fr/almanax fourni, pour chaque jour, des informations pour un jeu vidéo. Il contient 3 informations : une description du jour, un bonus du jour, et des objets à récupérer pour une quête.

    J'aimerais récupérer les informations de l'année entière, les stocker en base ou autre chez moi, et faire un petit logiciel qui me permet de savoir quand tel objet sera nécessaire pour une quête, quelle est la date du prochain bonus de type "XP sur les monstres", etc.

    J'ai un souci de conception sur la gestion des Bonus.

    Il doit exister une 15aines de bonus différents, en voici une petite liste
    • Les chances d'obtenir du butin sont augmentées de 75 % sur les créatures de type Machin
    • Les gains d'experience sont augmentées de 75 % sur les créatures de type bidule
    • Les bonus apportés par les challenges réussis sont augmentés de 150 % sur les créatures de type bidule
    • Les chances d'obtenir du butin sont augmentées de 100 % dans la zone "Zone 51"
    • La récolte de bois est augmenté de 100%
    • La récolte de bois est augmenté de 100% dans la zone "bois machin".


    Etc.

    après une petite analyse, on peut voir qu'il existe grosso modo 3/4 grands types de récompenses (expérience, butin, récolte) avec des contraintes (expérience des challenges, bonus attribué dans une zone précise, bonus attribué sur un type de monstre).

    Au début, j'ai commencé à me dire : tout ça, ça doit étendre de ma classe Bonus, et je créé une classe BonusXp,
    Puis je fais BonusXpMonstre, BonusXpZone qui étendent Bonus Xp.
    Ensuite je fais BonusButin qui étend Bonus,
    Puis BonusButinMonstre qui étend BonusButin...

    sauf que ça me convient pas du tout, c'est à la fois très rébarbatif et ça ne me permet pas, par exemple, de trouver tous les bonus (xp ou butin) qui touche une famille de monstre.

    C'est là où j'aurais besoin de vos lumières : J'arrive pas du tout à voir comment modéliser ça, à la fois pour que ça passe dans une base de donnée (je pensais gérer mes infos avec un SQLite) et que ce soit assez facilement utilisable en java.

    J'ai pensé, en fouillant un peu dans les design patterns, au DP Composite, qui a l'air de ressembler un peu à ce que je voulais faire (ne serait-ce que par le nom ^^) mais je ne comprend pas comment l'adapter à mon cas.
    Je trouvais le design pattern Decorateur très ressemblant aussi : tous mes bonus sont des bonus, et chaque spécification est une décoration (Bonus de type XP, de type "famille de monstre", de type "zone", etc).

    Ensuite, peut être que je dois abandonner l'idée de faire des objets complexes en java, et qu'il serait plus simple pour moi de stocker mes données en base avec juste une table "date", et des tables de relation "date_familleMonstre", "date_BonusXp", "date_BonusButin", ce qui me permet quand je cherche une date pour un bonus donné de juste chercher les relations entre le BonusCherché et les dates.

    En résumé, je suis un peu paumé sur comment modéliser simplement, pour pouvoir faire des manipulations en sql et en Java sur les données que j'ai récupéré.

  2. #2
    Membre actif Avatar de 3logy
    Homme Profil pro
    Développeur informatique
    Inscrit en
    Août 2007
    Messages
    280
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : Allemagne

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Finance

    Informations forums :
    Inscription : Août 2007
    Messages : 280
    Points : 222
    Points
    222
    Par défaut
    En esperant avoir compris ton Probleme, pourquoi le DP State ne marcherais pas ici pour tes Bonus?

  3. #3
    Membre émérite
    Inscrit en
    Janvier 2011
    Messages
    805
    Détails du profil
    Informations personnelles :
    Localisation : Autre

    Informations forums :
    Inscription : Janvier 2011
    Messages : 805
    Points : 2 918
    Points
    2 918
    Par défaut
    Citation Envoyé par phoenix_stealer Voir le message
    Ensuite, peut être que je dois abandonner l'idée de faire des objets complexes en java, et qu'il serait plus simple pour moi de stocker mes données en base avec juste une table "date", et des tables de relation "date_familleMonstre", "date_BonusXp", "date_BonusButin", ce qui me permet quand je cherche une date pour un bonus donné de juste chercher les relations entre le BonusCherché et les dates.
    Effectivement, c'est la solution privilégiée si le besoin est juste de chercher parmi des bonus et restituer un résultat.

    Modéliser les bonus dans des classes permettrait de réécrire le jeu pour simuler son comportement, mais ce n'est pas le but recherché (ou alors j'ai très mal compris).

Discussions similaires

  1. Problème de conception avec héritage
    Par oodini dans le forum C++
    Réponses: 3
    Dernier message: 24/01/2013, 11h43
  2. Réponses: 11
    Dernier message: 26/11/2011, 23h15
  3. Java : Problème d'héritage
    Par GérardMartinelli dans le forum Langage
    Réponses: 3
    Dernier message: 16/12/2009, 09h53
  4. Java => problème héritage
    Par spotlessmind dans le forum Langage
    Réponses: 1
    Dernier message: 23/11/2007, 22h53
  5. Problème de conception en java
    Par Faiche dans le forum Langage
    Réponses: 9
    Dernier message: 26/09/2007, 21h42

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