我想创建一个不记录异常的日志系统,而是创建用户活动以及他们对数据执行的操作。例如,当用户删除记录时,我想记录用户名,记录ID,日期和....
首先我决定创建一个日志类,并在所有其他类方法中使用它的方法。但经过一些阅读博客和搜索SO之后,我发现这种方法违反了OOP的SRP原则。
现在我正在考虑另一个解决方案。我还有我的日志类。但是我不应该在代码中调用它的方法,而应该使用事件。我正在考虑添加一个监听器类,该类订阅由其他类调用的事件。
假设在页面中我有一个删除订单的方法:
protected void DeleteOrder(Order order)
{
Orders.Delete(order);
DeletedEvent(this,order);
}
然后订阅者使用发送的数据来创建日志。此类检查对象类型,并根据类型调用正确的私有方法,以使用对象属性创建日志。
一般适用吗?如果是的话,这是一个好方法吗?提前谢谢
答案 0 :(得分:1)
是的,你的方法很好。
这是一个MVC.NET应用程序吗?看看这篇文章: