是ReentrantLock Facade设计模式的实现吗?

时间:2013-09-30 08:44:10

标签: java design-patterns java.util.concurrent facade

我正在学习设计模式,在完成教科书示例之后,我将重点介绍JDK设计模式的实现。

java.concurrent.Lock包中的

ReentrantLock类使用AbstractQueueSynchronizer(AQS)来提供锁定功能。我认为这是Facade模式的例子,但是想得到其他人对此的看法。

  

这就是Facade的原因在于它提供了简化的界面   用于处理锁,使用另一个子系统AQS和AQS即可   也直接用于其他目的。

如果问题不明确,请提出您的意见(简单的低估没有帮助)

1 个答案:

答案 0 :(得分:0)

不,不是。

Facade用于向客户端呈现单一且一致的视图,通常是复杂大系统的呼叫者,因此呼叫者不必知道该大系统内的任何内容,例如该请求重定向到哪个模块,该请求转到另一个模块/组件等。

将此与您的示例相比较,您会发现锁只是Lock接口的特定实现。