2010-06-05 4 views
2

Avis de non-responsabilité: J'essaie d'apprendre la bonne programmation/conception OO, donc je suis assez nouveau dans ce domaine. Je suppose que c'est une question générale de modèles de conception, mais je vais baser mon exemple sur un moteur de jeu ou quelque chose qui rend les objets à l'affichage.Est-ce que ce modèle a un nom?

Considérez ce qui suit:

hierarchy http://img31.imageshack.us/img31/9633/diagrame.png

Comment ce genre de séparation entre les objets physiques (par exemple, des cubes, des sphères, etc.) et le mécanisme de rendu soit réalisé de manière extensible?

Cette conception n'est pas gravée dans la pierre, et peut-être que j'ai quelque chose de mal dès le début. Je suis juste curieux de savoir comment un problème comme celui-ci est résolu dans le monde réel.

Répondre

1

Le moteur de rendu ne doit pas être étendu par les objets qu'il est supposé dessiner. (Juste mon opinion) un objet dans votre monde n'est pas un moteur de rendu mais le moteur de rendu utilise des objets.

Alors vous avez peut-être:

Interface IRenderer qui définit une fonction draw (BasicObject). Ensuite, vos objets étendent simplement BasicObject pour être traités par le/a renderer.

Comme je l'ai dit juste mon opinion. :)

0

Je voudrais utiliser un modèle de visiteur ici.

Lorsque le visiteur est le moteur de rendu et que le visiteur est le 3D/objet. Je voudrais aussi faire de la 3D/Object un composite.

Questions connexes