我正在为我的一个应用程序编写日志服务,但我确信许多其他应用程序会使用它。在这种情况下,让应用程序扩展一个类并在原始类中默认启用我的所有日志记录(因为不惜一切代价需要一些日志记录,如应用程序入口点和出口点)或只是让应用程序实例化是否有意义一个新的日志对象,然后在需要的地方放置日志语句?
问问题
599 次
3 回答
4
实例化一个新的日志对象。你的对象毕竟不是记录器,是吗?
如果从 logger 继承,还会遇到以下问题
- 您的对象可以用作记录器,这可能不是它的用途
- 你不能从其他类继承
- 您无法轻松切换日志记录策略,尤其是在运行时
一般来说,在绘制两个类之间的概括时应该非常小心。
于 2009-11-17T23:26:15.887 回答
2
而不是创建一个新的日志服务 - 为什么不使用其中一个日志框架呢?恕我直言 - 它们将比您编写的任何内容都经过更好的测试和更好的记录!
我不会沿着继承路线走,这会在早期将您与一个可能会发展和变化的类联系起来。
于 2009-11-17T23:33:52.663 回答
0
在 OOP 中,您必须遵守对象收集数据和逻辑的规律。
如果您的对象必须执行某些任务(服务)或操作某些数据,那没关系。但它不是记录器。
您应该向另一个服务或对象触发一个事件来记录日志。
还要注意您的对象如何了解记录器...注入、组合、工厂...这是关于您的日志记录框架和您的对象任务的。
于 2009-11-17T23:50:58.280 回答