我们正在讨论使用适配器模式进行日志记录。我不确定这是一个好主意,因为我们可能永远不会改变我们的日志实现,但是当我们谈到这个时出现了一个问题:抽象日志模块是否应该隐藏各种日志实现的配置细节?
我见过两个项目使用适配器模式来抽象日志记录(其中一个是.NET 的通用基础结构库)。
在这两个项目中,客户端必须提供的配置取决于日志记录实现。例如,如果使用 log4net,客户端必须提供 Log4Net 配置文件。
当我认为这是适配器模式的不完整实现时,我错了吗?对我来说,如果客户必须对适配者有一些了解,那么在不破坏客户的情况下就不可能交换实现......
但我不确定。
感谢您的意见。