2010-10-01 93 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

我认为这是一种生成器。