È una cattiva pratica complicare l'interfaccia di logging / implementazione con le classi del modello di business?

3

Dovremmo evitare di utilizzare l'accesso alle classi dei modelli di business e provare a spostare la registrazione su classi di servizi / controllori?

Ad esempio, nel contesto java, l'accesso alle classi del modello difficilmente accoppierà il codice con dipendenze su slf4j o commons-logging ecc.

    
posta Piotr Müller 11.02.2014 - 12:27
fonte

2 risposte

2

Un modo per mantenere il BL disaccoppiato dalle varie librerie di logging è creare un'interfaccia di logging in una delle tue librerie principali, a cui farà riferimento la BL. È quindi possibile avere le implementazioni concrete in un'altra libreria e iniettarle nel BL. In questo modo il tuo BL rimarrà ignaro della tua libreria di registrazione preferita.

Per quanto riguarda l'accesso al modello di business, dipende molto da ciò che si desidera registrare. Se si tratta solo di eccezioni, puoi lasciarle in bolla e catturarle / registrarle nei livelli superiori. Se si desidera registrare più di eccezioni, è necessario aggiungere il codice di registrazione all'interno delle classi BL, che non è poi così male. Dopotutto, il logging è una preoccupazione trasversale e devi distribuirlo su tutti i livelli della tua applicazione.

Per farla breve: no, non è una cattiva pratica.

    
risposta data 11.02.2014 - 12:54
fonte
-2

Aspect Oriented Programming è un ottimo modo per separare il problema di registrazione con il tuo altro codice. È relativamente semplice implementare la traccia e la registrazione delle eccezioni in una singola classe.

    
risposta data 24.02.2014 - 17:53
fonte

Leggi altre domande sui tag