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

C++ Discussion :

[C++] Utilisation du pattern strategie (ou pont)


Sujet :

C++

Mode arborescent

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre Expert
    Avatar de Aspic
    Homme Profil pro
    Étudiant
    Inscrit en
    Août 2005
    Messages
    3 905
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Hauts de Seine (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Électronique et micro-électronique

    Informations forums :
    Inscription : Août 2005
    Messages : 3 905
    Par défaut [C++] Utilisation du pattern strategie (ou pont)
    Bonjour

    J'ai deux choses à demander ^^

    1ère chose :

    J'ai étudié le pattern Strategie grâce au livre "Design Pattern - Tete la Première". Cependant, quelque chose me chiffonne quand je parcours le Web et quand j'ai découvert le pattern Bridge (pont) qui ressemble beaucoup au pattern stratégie :
    Le pont est un pattern Strcucturel:
    - Pont: Sépare une abstraction de son implémentation de sorte que les deux puissent varier indépendamment.

    Le stratégie est un pattern comportemental:
    - Stratégie: Définit une famille d'algorithmes, encapsule chacun, et les rend interchangeables. La Stratégie permet à un algorithme de varier indépendamment des clients qui l'utilisent.
    Maintenant, dans le livre pour le pattern Stratégie, j'ai l'impression que c'est un mixte du pattern Pont et Strategie. Voilà le diagramme UML en pièce jointe.

    Voilà je voulais votre avis sur la question

    2ème chose :

    Je souhaiterais appliquer l'un des deux patterns (je pense le Strategie) à ma situation dans mon jeu 2D :
    Soit les interfaces IEntity, ISprite ainsi que des interfaces *Behaviours

    • La classe Player et Enemy dérivent de l'interface IEntity.
    • La classe AnimatedSprite et ClassicalSprite dérivent de l'interface ISprite.
    • IEntity est composé d'un ISprite (composition) et d'interfaces de Behaviours (non implémentées encore).
    • La classe World (qui gère le monde en entier) possède un ensemble d'entités (dans un vector pour l'instant).


    Donc grâce au polymorphisme je peux mettre à jour et dessiner toutes mes entites en parcourant le vector.

    Pas de problème jusqu'à la

    MAIS si je veux rajouter dans les classes Player et Enemy des attributs spécifiques voires des méthodes spécifiques, je ne pourrais jamais les invoquer à partir de World (car il ne manipule que des IEntity).

    De même, les Behaviours vont devoir manipuler des attributs des classes Player, Enemy par exemple quand un ennemie va perdre de la vie, il faudra bien baisser son attribut heath (qui sera privé dans la classe Enemy).

    Pour être plus clair, prenons un exemple de Behaviours : IColissionBehaviour (celui qui gère les collisions entre les entités). Imaginons une classe HitBehaviour qui implémente (dérive en C++) de IColissionBehaviour.
    La classe HitBehaviour à besoin de connaitre des infos sur toutes les Entity qui implémentent ce comportement !

    Et hop, je suis coincé !! Je ne vois pas comment faire...

    J'ai vraiment besoin d'aide, je n'arrive plus à avancer dans mon design

    Merci en tout cas, et bonne vacances
    Images attachées Images attachées  
    Qui ne tente rien n'a rien !
    Ce qui ne nous tue pas nous rends plus fort !!
    Mon projet ZELDA en C++/Allegro
    http://www.tutoworld.com - Le Forum -
    Mes ressources Dotnet (cours, sources, tutos)
    --------------------------------------------
    + + =

    Ne pas oublier le Tag !

Discussions similaires

  1. [DESIGN J2ME] Utilisation du pattern STATE ?
    Par BerBiX dans le forum Java ME
    Réponses: 0
    Dernier message: 04/12/2008, 15h55
  2. [Stratégie] Pattern Strategie avec parametres variables
    Par new.proger dans le forum Design Patterns
    Réponses: 3
    Dernier message: 10/06/2007, 20h48
  3. BDS - utilisation des Patterns
    Par RamDevTeam dans le forum Delphi .NET
    Réponses: 1
    Dernier message: 05/11/2006, 17h35
  4. Réponses: 4
    Dernier message: 22/12/2004, 14h28

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