Dati tre classi:
class A {
B* b_;
A(B* b){
b_ = b;
}
void doThings() {
C* c = new C(b_);
...
// Use c
}
}
class B {}
class C {
B* b_;
C(B* b) {
b_ = b;
...
}
}
Il riferimento a B
nella classe A
è utile solo per passarlo a C
quando necessario, perché A
e C
non può creare l'istanza di B
.
Mi chiedo se potrei evitare di avere il riferimento in A
usando un modello di progettazione: faccio non penso che fare B
a singleton sia una buona soluzione e penso che una Factory potrebbe sii migliore, ma forse è una complicazione eccessiva.
Il riferimento inutilizzato è un problema reale? Una fabbrica risolve il mio problema?