Quale modello utilizza SLF4J?

1

Il design di SLF4J mi ha davvero entusiasmato. Intendo il modo in cui introduce la componente di implementazione. In LoggerFactory , importa org.slf4j.impl.StaticLoggerBinder , una classe nel suo spazio dei nomi ma che non esiste nel suo file jar. L'implementazione (come il logback) jar include solo la classe ed è fatta. Il classloader farà il lavoro vincolante per te.

Questo rende il componente di implementazione plug-in / drop-in-able, zero configuration, il tuo codice dipende solo da SLF4J.

Voglio sapere, questo approccio ha un nome ortodosso? O qualche modello di design correlato? Voglio saperne di più.

    
posta matrix 25.04.2017 - 09:42
fonte

1 risposta

0

Credo che sia una combinazione di modelli e un'implementazione ben progettata.

Il primo modello che viene in mente è Inversione di dipendenza . Definendo le interfacce, Slf4j rimuove l'implementazione fino al runtime. Un altro modello è schema di delega , che consente all'inversione di dipendenza di fornire una buona trazione.

L'implementazione utilizza un caricatore di servizi, come menzionato da @Kapep, per eseguire l'iniezione delle dipendenze.

    
risposta data 25.04.2017 - 20:49
fonte

Leggi altre domande sui tag