我正在学习设计模式,在完成教科书示例之后,我将重点介绍JDK设计模式的实现。
java.concurrent.Lock包中的 ReentrantLock
类使用AbstractQueueSynchronizer
(AQS)来提供锁定功能。我认为这是Facade模式的例子,但是想得到其他人对此的看法。
这就是Facade的原因在于它提供了简化的界面 用于处理锁,使用另一个子系统AQS和AQS即可 也直接用于其他目的。
如果问题不明确,请提出您的意见(简单的低估没有帮助)
答案 0 :(得分:0)
不,不是。
Facade用于向客户端呈现单一且一致的视图,通常是复杂大系统的呼叫者,因此呼叫者不必知道该大系统内的任何内容,例如该请求重定向到哪个模块,该请求转到另一个模块/组件等。
将此与您的示例相比较,您会发现锁只是Lock接口的特定实现。