J'ai 3 classes d'interface IVideo , IAudio , IGPIO
et trois autres classes qui implémenteront ces interfaces: Video_impl , Audio_impl , GPIO_impl
.abstract Une interface `ISingleton` pour être la classe de base
Les choses sont simples jusqu'à maintenant.
Mais alors, je veux que tous ces objets soient singleton. Voici les questions:
Est-ce une bonne idée de faire abstraction d'une interface ISingleton
, de sorte que Video_impl , Audio_impl , GPIO_impl
(ou IVideo , IAudio , IGPIO
?) Puisse en hériter? Je pensais l'implémenter de la manière suivante. Est-ce recommandé? Je pense qu'il doit y avoir de meilleurs moyens.
//Isingleton.hpp
template <class T>
class ISingleton
{
public:
virtual T *getInstance() = 0;
};
class IGPIO
{
public:
virtual int SelectAudioInput() = 0;
};
class GPIO_impl : public IGPIO, public ISingleton<IGPIO>
{
public:
IGPIO *getInstance();
int SelectAudioInput() ;
private:
IGPIO *instance;
};
Ressemble plus à C++ puis C# ... –
Merci, Stefan.C'est C++. – pierrotlefou