J'essaie d'éliminer certaines dépendances de l'exploitation forestière et j'ai trébuché sur l'installation forestière de Castle Windsor. Cependant, je suis un peu sceptique quant à savoir si je devrais l'utiliser ou non.Installation d'exploitation forestière Castle Windsor
public class MyClass
{
public Castle.Core.Logging.ILogger Logger { get; set; }
...
}
La fonction de journalisation de Windsor exige que vous exposiez votre enregistreur en tant que propriété. Est-ce vraiment une bonne pratique? J'ai l'impression de briser presque l'encapsulation parce que normalement, quand je réutilise un composant, je m'en fiche de son mécanisme de journalisation et je ne veux normalement pas le voir exposé.
Si j'utilise un wrapper personnalisé qui utilise une classe statique pour créer le journal, je peux le garder privé. Par exemple:
public class MyClass
{
private static MyCustomWrapper.ILogger Logger = LogManager.GetLogger(typeof(MyClass));
...
}
J'ai cherché sur le web pour des raisons pour lesquelles je devrais utiliser l'installation de l'exploitation forestière, mais je suis seulement de trouver des articles sur comment à utiliser, mais pas pourquoi Je devrais l'utiliser. J'ai l'impression de manquer le point. Avoir le composant de journalisation exposé est un peu effrayant moi loin.
Mais ne serais-je pas déjà couplé à 'Castle.Core.Logging.ILogger'? Ou est-ce parce que 'LogManager' est une classe statique et que je ne peux pas la remplacer? – Books
@Ashley: exactement. Il y a beaucoup moins de couplage avec une interface. –