I am learning design patterns, and after going through the text book examples, I am focusing on JDK implementation of design patterns.
ReentrantLock
class in java.concurrent.Lock package use AbstractQueueSynchronizer
(AQS) for providing locking features. I think this is example of Facade pattern, but want to get other's view about this.
Reason why this is Facade is that It provides a simplified interface for dealing with locks, using another subsystem AQS, and AQS can be used directly for other purposes also.
Please put your comments if question is not clear(Simply downvoting does not help )