我正在为我的一个应用程序编写日志服务,但我相信很多其他应用程序都会使用它。在这种情况下,让应用程序扩展一个类并在默认情况下启用所有日志记录(因为某些日志记录,如需要不惜任何代价的应用程序入口点和出口点)或仅使应用程序实例化是否有意义一个新的日志记录对象,然后在需要的地方放置日志记录语句?
答案 0 :(得分:4)
实例化新的日志记录对象。你的对象毕竟不是记录器,不是吗?
如果从logger继承,则还会出现以下问题
一般来说,在两个类之间绘制泛化时应该非常小心。
答案 1 :(得分:2)
不是创建新的日志服务 - 为什么不使用其中一个日志框架?在充分尊重的情况下 - 与您编写的任何内容相比,它们将得到更好的测试和更好的记录!
我不会走下继承路线,这会让你在早期阶段陷入一个可能会发展变化的阶级。
答案 2 :(得分:0)
在OOP中,您必须遵守对象收集数据和逻辑的规律。
如果您的对象必须执行某项任务(服务)或操作某些数据,那就没问题。但它不是记录器。
您应该将事件触发到另一个服务或对象来执行日志。
还要注意你的对象如何知道记录器...注入,组合,工厂......这是关于你的日志框架和你的对象任务。