language cross-cutting preoccupa allocatore di memoria che tiene traccia dell'utilizzo e di un logger

-5

Ho due problemi trasversali nella progettazione del mio software. L'allocatore di memoria tiene traccia dell'utilizzo della memoria nelle sue variabili membro struct (class). Ho anche un logger. In questo momento sto passando il logger e l'allocatore nel costruttore dei miei oggetti. Posso mantenere un riferimento a loro ma poi dovrei farlo in ogni struct (classe) che creo. Sarebbe bello se fossero globali, ma non sono sicuro di come farlo in C. Posso costruire un allocatore di memoria globale che tenga correttamente traccia dei byte usati senza passarlo nelle mie chiamate per fare riferimento alle chiamate?

    
posta eat_a_lemon 21.06.2017 - 22:41
fonte

1 risposta

0

Prova la programmazione orientata all'aspetto.

La registrazione è una preoccupazione trasversale. È normale averne bisogno in ogni struttura / classe. È normale non voler passare un log in ogni singola struttura / oggetto, è normale non voler iniettare un contesto o un localizzatore di servizi che conosce il tuo logger, è normale non voler creare un logger globale ed è normale non voler hard code un riferimento statico al tuo logger. Sebbene quest'ultimo sia popolare nel mondo di auto4j / log4j.

Un'alternativa è lasciare che il tuo codice rimanga completamente inconsapevole del fatto che sia stato persino registrato.

Vedi: link

    
risposta data 22.06.2017 - 03:35
fonte

Leggi altre domande sui tag