【问题标题】:How is slf4j a facade?slf4j 怎么是门面?
【发布时间】:2016-07-22 20:06:13
【问题描述】:

我正在尝试了解 slf4j 的详细信息。我仍然不清楚 slf4j 是如何被视为 Logging 门面的?

外观的意图通常是 -

为子系统中的一组接口提供统一的接口。 Facade 定义了一个更高级别的接口,使子系统更易于使用。

在 slf4j 的情况下,它提供了一个通用的Logger 接口,但是像log4j, logback 等每个绑定项目都需要提供它们的具体实现。

所以我了解adapter pattern 的使用方式,但我仍然无法理解Facade Pattern 的使用方式。

【问题讨论】:

    标签: logging slf4j facade


    【解决方案1】:

    这不是语言级别的外观,而是应用程序级别的外观。当您编写应用程序(或者,更重要的是,一个库!)时,您必须以某种方式记录语句。如果您将代码绑定到特定的日志实现(log4j、logback),则很难将其集成到使用另一个日志实现的另一段代码中,因为您将不得不配置两次并且可能无法共享相同的输出设备。

    这对图书馆作者来说尤其重要。所以 slf4j 发挥作用:您登录到 slf4j,然后让库的用户通过适当的绑定和绑定配置提供实际的日志记录机制。

    【讨论】:

      【解决方案2】:

      SLF4J 不是严格意义上的外观。它只为大多数日志记录框架共享的最常见的日志记录方法提供 API,允许用户在需要时相对轻松地切换到不同的 API。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-16
        • 1970-01-01
        • 2012-10-11
        • 2010-10-21
        • 1970-01-01
        相关资源
        最近更新 更多