3つのインターフェイスクラスIVideo , IAudio , IGPIO
と、それらのインターフェイスを実装する他の3つのクラスがありますVideo_impl , Audio_impl , GPIO_impl
。
これまでのところ、物事は単純です。
しかし、私はそれらすべてのオブジェクトをシングルトンにしたいのです。質問は次のとおりです。
(または?)がインターフェイスから継承できるISingleton
ように、インターフェイスを抽象化することをお勧めしますか?Video_impl , Audio_impl , GPIO_impl
IVideo , IAudio , IGPIO
次のように実装することを考えていました。お勧めですか?もっと良い方法があるに違いないと思います。
//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;
};