2012-09-26 1 views
0

Je veux créer un système de journal pour ne pas enregistrer les exceptions, mais les activités de l'utilisateur et ce qu'ils font sur les données. Par exemple, lorsqu'un utilisateur supprime un enregistrement, je veux enregistrer le nom d'utilisateur, l'ID d'enregistrement, la date et ....est-ce une bonne approche pour créer un système de journalisation

J'ai d'abord décidé de créer une classe log et d'utiliser ses méthodes dans toutes les autres méthodes de classes. mais après quelques blogs de lecture et de recherche SO, j'ai compris que cette approche est contre le principe SRP de POO.

maintenant je pense à une autre solution. J'ai toujours mon cours de notation. mais au lieu d'appeler ses méthodes partout dans les codes, je devrais utiliser des événements. Je pense à ajouter une classe d'écouteurs qui s'abonne aux événements invoqués par d'autres classes.

suppose que dans une page que j'ai une méthode qui supprime une commande:

protected void DeleteOrder(Order order) 
{ 
    Orders.Delete(order); 
    DeletedEvent(this,order); 
} 

alors l'abonné utilise les données envoyées pour créer le journal. cette classe vérifie le type d'objet et, en fonction du type, appelle la méthode privée appropriée pour créer un journal à l'aide des propriétés des objets.

est-ce applicable en général? Si oui, est-ce une bonne approche? merci d'avance

Répondre

Questions connexes