Je voudrais mettre en œuvre un modèle d'usine abstraite mais aimerais aussi être un singleton.Modèle d'usine abstrait Singleton
class WindowFactory {
protected:
virtual Scrollbar* createScrollbar() = 0;
};
class MacWindowFactory: public WindowFactory {
virtual Scrollbar* createScrollbar() {
//return a instance
}
;
};
class LinuxWindowFactory: public WindowFactory {
virtual ScrollBar* createScrollbar() {
//return a instance
}
;
};
Est-ce que quelqu'un peut m'aider avec un exemple de code pour faire ce Abstract Factory Singleton?
Merci d'avance.
Merci. Dans cet exemple spécifique oui. Mais je voudrais éviter autant que possible l'utilisation de macros et m'en tenir le plus possible à des principes orientés objet. – KodeWarrior
Il n'utilise pas de macros, du moins pas conceptuellement. Il vérifie simplement la plate-forme de compilation, qui utilise le mécanisme de la macro, mais ne présente aucun des problèmes qui rendent généralement les macros un mauvais choix. C'est juste qu'aucun compilateur n'offre de telles vérifications d'une autre manière. –
Note: pour les choses qui retournent void, ou qui ne provoquent généralement pas d'erreur de compilation lorsqu'aucune branche de code n'est compilée, j'ajoute aussi un "#else #error Missing implementation #endif" final pour s'assurer qu'il est remarqué. –