Sto perseguendo la progettazione orientata agli oggetti. Quindi non vogliamo usare le globali, ma a volte abbiamo un modulo utilizzato dalla maggior parte degli altri moduli. Questo significa che dobbiamo solo passarlo a tutti gli altri moduli e questo può essere letteralmente tutti i moduli!
class Logger
{
public:
Logger(void);
~Logger(void);
};
class Calculator
{
public:
Calculator(Logger *logger);
~Calculator(void);
};
class Taxation
{
public:
Taxation(Logger *logger);
~Taxation(void);
};
Quindi l'idea è che i moduli Calculator
e Taxation
utilizzino il modulo Logger
per registrare tutto. Allo stesso modo la maggior parte degli altri moduli lo useranno anche, e il logging è richiesto ovunque. Questo metodo è ok o dovrebbe Logger
essere globale invece?