2013-09-30 99 views
0

我正在學習設計模式,並且在閱讀了本書的示例之後,我將重點放在設計模式的JDK實現上。ReentrantLock外觀設計模式的實現?

ReentrantLock java.concurrent.Lock中的類使用AbstractQueueSynchronizer(AQS)提供鎖定功能。我認爲這是Facade模式的例子,但想獲得其他人對此的看法。

之所以這樣是正面的是,它提供了一種簡化的接口 用於與鎖處理,使用另一個子系統AQS,和AQS可直接用於其它目的也 。

請把你的意見,如果問題不明確(只需downvoting沒有幫助)

+0

我不會說ReentrantLock門面模式的例子。看看[這個問題](http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns) – nkukhar

+0

你一定要檢查[this](http://stackoverflow.com/questions/) 1673841/examples-of-gof-design-patterns)鏈接。 –

回答

0

沒有它不是。

Facade用於向客戶提供單一且一致的視圖,通常是複雜大系統的呼叫者,因此呼叫者無需知道該大系統內的任何內容,例如哪個模塊是這個請求重定向到,並且該請求去往另一個模塊/組件等。

將此與您的示例進行比較,您會發現鎖僅僅是Lock接口的特定實現。

+0

這裏在ReentrantLock中,調用者不必知道底層的實現,他們可以通過Lock接口的合約來完成,而AQS的複雜性將由ReentrantLock處理。所以它是Facade,對吧? – AKS