2010-10-01 14 views
7

Byłem pod wrażeniem projektu google MapMaker. Chciałbym wiedzieć, jaka jest nazwa wzorca, który jest tutaj używany?Wzór projektu MapMaker?

(Co myślę, że jest to trochę jak wzór dekoratora, ale w którym nie musimy zawijać obiektu w inny obiekt, aby rozszerzyć funkcjonalność, ale nie mogę dokładnie określić, jaki to jest wzór).

Kreator map Object utworzenia: -

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

Aby dowiedzieć się wzorców projektowych przykładami rzeczywistych, można znaleźć [ta odpowiedź] (http://stackoverflow.com/questions/1673841/examples-of-gof-design-patterns/2707195 # 2707195). – BalusC

+1

Nigdy nie przegapisz okazji, by wskazać to na zewnątrz, co? :-) Przyznane: to * jest * jedną z najlepszych odpowiedzi na Javę na tej stronie ... –

+1

@BaluC: To na pewno świetna odpowiedź, + 1 ode mnie. – Emil

Odpowiedz

1

myślę, że to rodzaj Builder.