2010-10-01 94 views
7

我對谷歌的MapMaker設計印象深刻。我想知道這裏使用的圖案的名稱是什麼? (我覺得它有點像裝飾模式,但我們不必將對象包裝在其他對象中來擴展功能,但我無法弄清楚它是什麼樣的模式)。MapMaker設計模式?

地圖製作工具創建對象: -

ConcurrentMap<Key, Graph> graphs = new MapMaker() 
     .concurrencyLevel(32) 
     .softKeys() 
     .weakValues() 
     .expiration(30, TimeUnit.MINUTES) 
     .makeComputingMap(
      new Function<Key, Graph>() { 
      public Graph apply(Key key) { 
       return createExpensiveGraph(key); 
      } 
      }); 
+3

要了解設計模式,通過現實世界的例子,你可能會發現[這個答案](http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns/2707195#2707195)有用。 – BalusC 2010-10-01 12:49:25

+1

你永遠不會錯過一個機會,指出一個,呃? :-)授予:它*是*本網站上最好的java答案之一... – 2010-10-01 13:04:24

+1

@BaluC:這肯定是一個很好的答案,來自我的+1。 – Emil 2010-10-01 15:37:56

回答

1

我認爲這是一種生成器。