【发布时间】:2008-09-17 19:23:07
【问题描述】:
自从我第一次开始学习面向对象编程以来,我一直在努力解决一个问题:应该如何在“正确的”OOP 代码中实现记录器?
我的意思是一个对象,它具有我们希望代码中的每个其他对象都能够访问的方法;此方法将输出到控制台/文件/任何内容,我们将使用它进行日志记录——因此,此对象将是记录器对象。
我们不想将记录器对象建立为全局变量,因为全局变量不好,对吧?但是我们也不希望在每个对象中调用的每个方法的参数中都传递记录器对象。
在大学里,当我向教授提出这个问题时,他实际上无法给我答案。我意识到实际上有可能实现此功能的包(例如 Java)。不过,我最终要寻找的是如何正确地以 OOP 方式自己实现这一点的知识。
【问题讨论】:
标签: language-agnostic oop logging