La classe derivata può essere singleton? [chiuso]

-4

Ho bisogno di avere alcune funzionalità comuni mentre la classe derivata deve avere un comportamento singleton. Ad esempio:

class A
{
//common file functions 
}
class B : public A
{
//Needs to be singleton . since there is specific file of this class
}
class C : public A
{
//Needs to be singleton. There is also specific file of this class
}

Va bene creare una classe derivata come singleton o una composizione è una buona idea in questo caso?

    
posta apurva 25.10.2018 - 13:12
fonte

2 risposte

2

Considera invece l'utilizzo di una fabbrica. Una fabbrica può scegliere di riciclare le istanze, quindi essenzialmente di creare lo stesso "singleton" senza il modello singleton. Il tuo programma dovrebbe assolutamente non trattare le istanze come se fossero singletons se lo fai in questo modo, poiché potrebbe cambiare in seguito.

Inoltre, per favore non rendere la tua fabbrica un singleton.

    
risposta data 25.10.2018 - 14:29
fonte
1

No, sembra una cattiva idea.

Assenza di qualsiasi comportamento specifico di B o C , sembra che tu voglia

int main()
{
    A B(<B's params>);
    A C(<C's params>);

    // use 'B' and 'C'
}
    
risposta data 25.10.2018 - 14:02
fonte

Leggi altre domande sui tag