Design de classe - C++ - Programmation
Marsh Posté le 16-06-2006 à 19:34:35
J'ai pas tout suivi... il me semble cependant que tu ai besoin de classes polymorphes.
C'est à dire, (c'est approximatif, hein) une classe VideoInput avec des méthodes virtuelles, et plusieurs classes VideoInputFile, VideoInputXML, et VideoInputCamera, qui dérivent de VideoInput et réimplémentent les fonctions virtuelles.
Marsh Posté le 21-06-2006 à 20:55:32
Et pourquoi pas un truc comme ca :
Code :
|
Classieux, élégant, chaud pour l'hiver ...
Marsh Posté le 21-06-2006 à 22:50:13
le pattern Abstract Factory me semble tout indiqué !
Marsh Posté le 16-06-2006 à 14:43:42
Bonjour à tous,
comme le titre l'indique, j'ai un souci de design de classe.
J'ai créé trois classes qui me permettent d'afficher de la vidéo
grâce à DirectShow.
J'ai une classe DS_InfosVideo, DS_AffichVideo, qui sont assez
explicites, et une dernière classe TVideoAffich qui est la fenêtre
qui affichera la vidéo, et qui a comme membres privés les deux
classes précédentes...
Je peux afficher 3 types de vidéo: les fichiers vidéo, des fichiers
XML pour la prévisualisation de montages vidéo, et de la vidéo en
temps-réel provenant d'une caméra numérique.
J'ai donc utilisé l'idiome du constructeur nommé pour chacune de ces
3 classes, ce qui me permet de charger les bonnes infos.
Par exemple, pour un fichier vidéo:
Pour l'instant, je limite le rendu de la vidéo à un renderer que j'ai
choisi.
Ce que j'aimerai faire maintenant, c'est proposer d'autres choix de
renderer.
Mais je ne me vois pas faire des fonctions du genre pour chacune des
classes:
etc...
Je voyais bien un truc du genre:
Seulement la classe Input passée à TVideoAffich n'est pas la même
que celle que doit recevoir DS_InfosVideo ni celle de DS_AffichVideo...
Est-ce que c'est possible de poser des conditions à la compilation, de
telle sorte qu'on ait un truc du genre:
pour TVideoAffich
Voilà tout
Merci d'avance
Mike